Linux上的Swift 2.2;使用未解析标识符';退出'&引用;

Linux上的Swift 2.2;使用未解析标识符';退出'&引用;,swift,swift2,glibc,foundation,Swift,Swift2,Glibc,Foundation,我试图在Linux上退出Swift 2.2中带有错误代码的命令行实用程序。我已尝试中的解决方案,但仍得到未解析的标识符。复制问题的简单测试脚本: $> cat exit_test.swift import Foundation guard 0 == 1 else { exit(0) } 我收到以下错误消息: $> swift exit_test.swift exit_test.swift:3:21: error: use of unresolved identifier 'exi

我试图在Linux上退出Swift 2.2中带有错误代码的命令行实用程序。我已尝试中的解决方案,但仍得到未解析的标识符。复制问题的简单测试脚本:

$> cat exit_test.swift
import Foundation

guard 0 == 1 else { exit(0) }
我收到以下错误消息:

$> swift exit_test.swift
exit_test.swift:3:21: error: use of unresolved identifier 'exit'
guard 0 == 1 else { exit(0) }
看来,
退出
不再随
基金会
一起导入,但我不确定下一步在哪里寻找退出的方法,给出具体的错误代码。我正在运行
Swift 2.2-dev

$> swift --version
Swift version 2.2-dev (LLVM 46be9ff861, Clang 4deb154edc, Swift 778f82939c)
Target: x86_64-unknown-linux-gnu
exit(3)
是基本的Unix(like)API。在苹果平台上,这些东西是由
Darwin
模块提供的,由于Cocoa严重依赖这些东西,
import Foundation
也会自动为您提供
Darwin


在Linux上,基本的Unix(like)API位于
Glibc
模块中,而
import Foundation
不会为您临时导入这些API。因此,要获得
exit(3)
和其他类似的东西,您需要
自己导入Glibc

exit
是从
Darwin
导入的,作为C标准库的一部分。没有基础等价物。在苹果平台上,基金会传递性地导入<代码>达尔文< /代码>。在Linux上,(粗略)等同于<代码>达尔文< /代码>模块是“代码> Glibc < /代码>,基础可能或可能不为您导入。这是在Linux上。code>import Darwin引发“没有这样的模块‘Darwin’”。@rickster它似乎没有<代码>导入Glibc就像一个魔咒!