1. ホーム
  2. c

[解決済み] SwiftからC言語を呼び出すには?

2022-05-17 02:01:36

質問

SwiftからCのルーチンを呼び出す方法はありますか?

多くのiOS / AppleライブラリはC言語のみで、私はまだそれらを呼び出すことができるようにしたいです。

例えば、objcランタイムライブラリをswiftから呼び出せるようにしたいです。

特に、iOSのCヘッダーをどのようにブリッジするのでしょうか?

どのように解決するのですか?

はい、もちろん Apple の C ライブラリと対話することができます。 ここで はその方法を説明しています。

基本的に、Cの型、CのポインタなどはSwiftのオブジェクトに変換され、例えば、Cの int はSwiftでは CInt .

私は別の質問のために、CとSwiftの間の橋渡しをする方法について、ちょっとした説明として使うことができる、小さな例を作りました。

main.swift

import Foundation

var output: CInt = 0
getInput(&output)

println(output)

ユーザ入力.c

#include <stdio.h>

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

cliinput-Bridging-Header.h。

void getInput(int *output);

ここで が本来の答えです。