如何从Swift调用标准C库?

How to call standard C library from Swift?

我想在我的 swift 应用程序中使用 stdio.h、stdlib.h 等 C 库。但是我无法导入。我该怎么办?

import <stdio.h> // BAD
#include <stdio.h> // BAD
#import <stdio.h> // BAD
import Foundation // cannot use printf etc.

创建桥接Header

  • 创建 Obj-C header 文件
  • 添加导入语句
  • 转到您的项目构建设置
  • 找到 Objective-C 桥接 Header 设置。
  • 设置为path/of/your/file
  • 您导入 header 的文件将可以在所有 Swift 个文件中使用。

https://developer.apple.com/library/ios/documentation/Swift/Conceptual/BuildingCocoaApps/MixandMatch.html

要在 OS-X 平台上以纯 Swift 导入 C 函数,请使用:

import Darwin

这可以看作是 Foundation.swift 中的子导入之一,但是单独导入它可以避免对 Cocoa 和其他 iOS/OSX 框架模块进行潜在的不必要处理。

NeilJaff 的答案有效,因为它会导致 Foundation 和所有子模块被导入,但 import Darwin 更有针对性。