0

Swift有部分Darwin实施,例如,这有效:

import Darwin
rand()

为此在哪里XCode6存储底层包含文件?我想以scanf与他们在rand().

4

1 回答 1

1

如果您在 Swift 笔记本中键入“rand()”,请执行 Jump to Definition in Xcode (CMD-CTRL-J),它将带您到 C 标准库的 Swift 标头。

我相信您可以在那里看到 Apple 提供 Swift API 的所有 C 标准库函数。但是你看不到 Swift 的实现,因为我认为没有提供。我猜它已经编译到 Swift 框架中了。

但是你问的是那个头文件的位置。以下是如何找到它:

  1. 创建一个 Swift 命令行应用程序,并使用 rand() 函数。
  2. 构建它。
  3. 在 Report Navigator 中,展开所有底层命令行构建命令,以查找传递给编译器的路径。

如果您查看链接阶段的路径,您可能会在/Applications/Xcode6-Beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/macosx .

但我不认为 Swift 对标头使用纯文本文件格式,而且我认为标头只能让您访问 C 的标准库,因为中间还有一个已编译的 Swift 包装层,或者某种桥接头,所以它此时仅添加缺少的功能可能并不容易。

于 2014-06-05T20:31:16.247 回答