我很好奇Xcode实际如何与C库和Swift 4一起使用。
我通过创建桥接头添加了我的C库,之后,我可以毫不费力地使用C函数。 Swift是基于C语言构建的吗?
答案 0 :(得分:1)
当您在Xcode中的C语言中添加库时,输入名称并选中“同时创建头文件”框,Xcode会询问您有关Objective-C桥接头文件的信息。只需创建它。该文件的名称很棘手,因为它还支持其他C系列语言,例如纯C或C ++,Objective-C和C加号。
并非完全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
答案 1 :(得分:1)
与Objective-C或C / C ++系列中的语言不同,Swift没有公共接口标头的概念,而是通过可访问性修饰符(private
/ {{1} } / internal
/等)。
唯一的例外是应用程序的桥接头和库的伞头。编译器知道要在这些位置中查找可以导入到Swift中的声明(并非标头中的所有C内容都可以用于Swift)。
找到可用符号后,编译器将使它们可用于所有Swift文件,并生成必要的调用代码。