Swift3.0 调用C函数-_silen_name
一般情况下Swit要想调用obj-c,c或c++代码必须通过obj-c以及桥接文件才可以办到,但是使用
@_silgen_name
,可以对于某些简单的代码,直接跳过桥接文件和.h头文件与C代码交互。
创建.c文件
#include <stdio.h>
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
作者:HCong
链接:https://www.jianshu.com/p/233afa939614
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
我思故我在