通常状况下Swit要想调用obj-c,c或c++代码必须经过obj-c以及桥接文件才能够办到,可是使用
@_silgen_name
,能够对于某些简单的代码,直接跳过桥接文件和.h头文件与C代码交互。php
#include <stdio.h> int add(int i, int j){ return i + j; } int mul(int i, int times){ return i * times; }
// 在全局做用域下进行声明 // 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