c - 如何从 Swift 调用 C?

标签 c swift

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

很多 iOS/Apple 库都只有 C,我仍然希望能够调用它们。

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

特别是,您如何桥接 iOS C header ?

最佳答案

是的,您当然可以与 Apple 的 C 库进行交互。 Here解释了如何。

基本上,C 类型、C 指针等被翻译成 Swift 对象,例如 Swift 中的 C intCInt

我已经为另一个问题构建了一个小示例,它可以用作一个关于如何在 C 和 Swift 之间架起桥梁的小解释:

ma​​in.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);

Here是原来的答案。

关于c - 如何从 Swift 调用 C?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24004732/

相关文章:

c - 如何从文件中读取并处理c中一个char中的utf-8字符

C - 使用 fork() 和 exec() 两次

C语言,如何将文件中的值放入二维数组

json - 无法将 NSNumber 桥接到 Float Swift 3.3

swift - Swift 类函数和桥接 C 函数之间的名称冲突

swift - 有没有办法判断传入的变量是引用类型还是值类型?

ios - 如何将 NSInputStream 转换为 UIImage

c - C 中的持久数据库连接

c - 左移运算符是否取决于寄存器大小?

ios - 仅当 indexPath 对象可用时如何在 tableview 单元格上使用标签