Swift
实现了 Darwin
的部分内容,例如,这是有效的:
import Darwin
rand()
XCode6
在哪里存储为此的底层包含文件?我想以与 rand()
中添加的方式相同的方式添加 scanf
功能。
最佳答案
如果您在 Swift 笔记本中输入“rand()”,请在 Xcode 中跳转到定义 (CMD-CTRL-J),它将带您到 C 标准库的 Swift header 。
我相信你可以在其中看到Apple提供的Swift API的所有C标准库函数。但你看不到 Swift 实现,因为我认为没有提供它。我猜它被编译到 Swift 框架中了。
但是你问的是那个头文件所在的位置。查找方法如下:
- 创建 Swift 命令行应用程序,并使用 rand() 函数。
- 构建它。
- 在报表导航器中,展开所有底层命令行构建命令,以查找传递给编译器的路径。
如果您查看链接阶段的路径,您可能会在 /Applications/Xcode6-Beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/macosx 中找到一些内容
.
但我不认为 Swift 使用纯文本文件格式作为 header ,并且我认为 header 只能让您访问 C 的标准库,因为中间还有一个已编译的 Swift 包装层,或者某种桥接 header ,因此此时添加缺失的功能可能并不容易。
关于swift - 包含 XCode6 Beta 的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24067653/