swift和swiftc有什么区别?
我已经阅读了一些资源,其中说swiftc是swift的符号链接,但是在macOS Mojave 10.14.6上不是这种情况:
-rwxr-xr-x 1 root wheel 18288 Jul 29 23:49 /usr/bin/swiftc
swift和swiftc都包含OVERVIEW: Swift compiler
作为其--help
菜单的一部分,但是尽管它们的选项相似,但是它们是不同的。
答案 0 :(得分:4)
swift
是Swift的交互式环境(REPL)。
swiftc
是Swift编译器。
/usr/bin
中的文件只是重定向到当前所选版本(基于xcode-select
)。如果查看文件大小,您会注意到它们只有18kB。它们不是真正的可执行文件。
可以使用xcrun找到实际版本:
$ xcrun -f swift
/Applications/Xcode-beta7.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift
如果您在该目录中查找,则会看到swiftc
是指向swift
(90MB可执行文件)的符号链接。可执行文件只是检查其运行名称,并相应地调整其行为。