一般情况下Swit要想调用obj-c,c或c++代码必须通过obj-c以及桥接文件才可以办到,但是使用
@_silgen_name
,可以对于某些简单的代码,直接跳过桥接文件和.h头文件与C代码交互。
创建.c文件
#includeint add(int i, int j){ return i + j; } int mul(int i, int times){ return i * times; }
创建.swift文件,引用.c文件函数
// 在全局作用域下进行声明// swift 2.2使用关键字@asmnameimport 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