Swift3.0呼び出しC関数

654 ワード

一般的にSwitがobj-cを呼び出すには、cまたはc++コードはobj-cおよびブリッジファイルを介して行う必要がありますが、@_silgen_nameを使用すると、いくつかの簡単なコードについて、ブリッジファイルとを直接スキップすることができます.hヘッダファイルはCコードとインタラクティブである.
作成.cファイル
#include 
int add(int i, int j){
    return i + j;
}

int mul(int i, int times){
    return i * times;
}

作成.swiftファイル、参照.cファイル関数
//            
// swift 2.2     @asmname
import Foundation
@_silen_name("add") func c_add(_ num1: Int, _ num2: Int) -> Int
@_silgen_name("mul") func c_mul(_ num: Int, _ times: Int) -> Int

//     
print(c_add(90, 23))
print(c_mul(3, 20))

//   
113
60