与 C 代码交互

最终更新: 2025/02/06

Kotlin/Native 遵循 Kotlin 的传统, 提供与既有的平台软件的优秀的互操作性. 对于原生程序来说, 最重要的互操作性对象就是与 C 语言库. 因此 Kotlin/Native 附带了 cinterop 工具, 可以用来快速生成与既有的外部库交互时所需要的一切.

与原生库交互时的工作流程如下:

  1. 创建一个 .def 文件, 描述需要绑定(binding)的内容.

  2. 使用 cinterop 工具生成绑定.

  3. 运行 Kotlin/Native 编译器, 编译应用程序, 产生最终的可执行文件.

互操作性工具会分析 C 语言头文件, 并产生一个 "自然的" 映射, 将数据类型, 函数, 常数, 引入到 Kotlin 语言的世界. 工具生成的桩代码(stub)可以导入 IDE, 用来帮助代码自动生成, 以及代码跳转.

此外还提供了与 Swift/Objective-C 语言的互操作功能, 详情请参见 与 Swift/Objective-C 的交互.