Swift ++ == Swift => C => C ++ => STL
Swift包装程序,调用C包装程序,调用C ++包装程序,并使用Swift Package Manager(Linux)调用STL Swift对C语言的支持非常棒,可以很容易地在Packages中导入任何类型的C库(.so或.dylib),但是如果您要导入某些C ++东西,尤其是直接导入源代码并合并所有Swift和单个Swift软件包中的C ++源代码使事情有些烦人,您需要创建不同级别的包装器。 假设您需要在Swift世界中使用和导出一个现有的C ++库,您首先需要在其上创建一个C Wrapper接口,然后可以重新定义创建Swift类的所有对象,然后最终可以决定公开一个类似的接口或更快速的东西。 在本教程中,我特别着重于实现这些包装器的基本步骤,并提出了一种简单的解决方案来配置您的包和文件夹结构以实现所有这些。 非常重要的是,我根本不关注如何更好地快速化现有的C ++接口,而只是为了显示一个更复杂的场景,我将首先创建一个简化的C ++包装器,然后创建一个C包装器,最后创建Swift包装器重新创建类似于原始C ++代码的接口。 让我们从头开始。 作为示例,我们将为著名的C ++…