如何从Swift调用标准的C语言库?

4
我想在我的Swift应用程序中使用诸如stdio.h,stdlib.h等C库。 但我无法导入。 我该怎么办?
import <stdio.h> // BAD
#include <stdio.h> // BAD
#import <stdio.h> // BAD
import Foundation // cannot use printf etc.

1
为什么?你想使用哪些函数?为什么要使用它们而不是标准的Swift函数?你试图通过使用C库函数解决什么问题? - Some programmer dude
2
@JoachimPileborg,请不要“质疑问题”,你的评论暗示“你不应该想做这件事”,这对提问者和其他读者都很恼人。Wing在Swift/C互操作性方面有一个简单明了的要求,这个要求现在是有效的,而且随着Swift在2015年开源,它将变得更加重要。老实说,你这种评论是Stack Overflow最令人讨厌的部分。 - Chris Hatton
@ChrisHatton 学习背后的原理和实际问题总是有所帮助的。可能会有比 OP 所询问的更好的解决方案。相关阅读:什么是 XY 问题 - Some programmer dude
2个回答

5

在OS-X平台上纯Swift中导入C函数使用:

import Darwin

这可以看作是Foundation.swift中的子导入之一,但单独导入它可以避免对Cocoa和其他iOS / OSX框架模块进行潜在的不必要处理。
NeilJaff的答案有效,因为它导致Foundation和所有子模块都被导入,但import Darwin更加有针对性。

4

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接