Swift3.0 调用C函数

一般情况下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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,263评论 4 61
  • 散漫的走在路上 灵魂在何处逍遥 远方明灭的灯光 细雨朦胧中 依旧故我的踱步 身旁匆匆而过的人们 神情慌张的奔逃 或...
    花少颜阅读 243评论 2 1
  • 这个周末过得十分紧张。早上七点被猫挠门吵醒,给她喂了点猫粮,倒回床上想再眯半小时。醒过来赫然发现已经九点半了,科长...
    舒斗斗阅读 76评论 0 0
  • 杨云乔阅读 197评论 0 0