0

我很好奇 Xcode 是如何与 C 库和 Swift 4 一起工作的。

我通过创建桥接头添加了我的 C 库,之后我可以毫不费力地使用我的 C 函数。Swift 是基于 C 语言构建的吗?

4

2 回答 2

1

与 Objective-C 或 C/C++ 家族中的语言不同,Swift 没有公共接口标头的概念,而是通过可访问性修饰符 ( private/ internal/ public/etc) 声明可访问性。

唯一的例外是应用程序的桥接头和库的伞头。编译器知道在这些位置查找可以导入 Swift 的声明(并非标头中的所有 C 内容都可用于 Swift)。

一旦找到可用的符号,编译器将使它们可用于所有 Swift 文件,并生成必要的调用代码。

于 2019-01-31T07:17:01.790 回答
1

当您在 Xcode 中添加 C 中的库时,您输入名称并选中也创建头文件框,Xcode 会询问您有关 Objective-C 桥接头文件的信息。只需创建它。这个文件的名字很棘手,因为它还支持其他 C 系列语言,如纯 C 或 C++、Objective-C 和 C plus-plus。

并非完全 Swift 是基于 C 语言构建的,而是基于 Objective 的。C 以及更早的 Swift 支持都不存在。.h 文件是一个头文件,它可以帮助我们桥接库并在我们在 Swift 上运行的项目中使用它。

查看 Apple 的文档:-- https://developer.apple.com/documentation/swift/imported_c_and_objective-c_apis/importing_objective-c_into_swift

于 2019-01-31T06:27:26.197 回答