一尘不染

如何从Swift调用C?

swift

有没有办法从Swift调用C例程?

许多iOS / Apple库仅是C语言,我仍然希望能够调用它们。

例如,我希望能够从Swift调用objc运行时库。

特别是,如何桥接iOS C标头?


阅读 338

收藏
2020-07-07

共1个答案

一尘不染

是的,您当然可以与Apples
C库进行交互。这里说明了如何。
基本上,C型,C指针等被翻译成对象斯威夫特,例如C int在夫特是一个CInt

我为另一个问题构建了一个小例子,该例子可以作为对C和Swift之间的桥梁:

主Swift

import Foundation

var output: CInt = 0
getInput(&output)

println(output)

UserInput.c

#include <stdio.h>

void getInput(int *output) {
    scanf("%i", output);
}

cliinput-Bridging-Header.h

void getInput(int *output);
2020-07-07