前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ModuleMap C 在swift中的使用

ModuleMap C 在swift中的使用

作者头像
大话swift
发布2019-07-04 11:14:21
2.8K0
发布2019-07-04 11:14:21
举报
文章被收录于专栏:大话swift大话swift

swift 有UNSafePoint的概念,但是不能够与C/C++直接交互,但是对于C/C++模块操作就需要进行一些改进那就是今天的主角moulemap啦。 要想使用你自己的C/C++按照 import的方式在swift使用那么你需要经历以下几个简单配置 1 当然是将对应的C/C++源码文件导入到swift项目中 2 配置modulemap啦 3 import 使用啦

至于导入c/C++代码自不必说例如

内容很简单(定义一个结构体而已)

typedef struct User{

char *name;

unsigned char age;

} User;

看完了基本的C/C++文件定义完成,我们进行配置 1 新建一个空白文件 2 写入配置

内容如下

module Sk [system][extern_c]{

header "./lib/include/sk-header.h"

export *

}

3 Xcode build settings 搜搜import paths添加配置$(SRCROOT)/ModuleMap

到此为止您就可以使用 import Sk来使用您的C/C++

var skName = "SkeyBoy".data(using: .utf8)!

let age = 30

let user = User.init(name: skName.withUnsafeMutableBytes { $0 }, age: UInt8(age))

print(user)

我们看看系统给我们做了什么

惊喜吧,通过这个我们可以在swift中直接导入C/C++的库啦

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-04-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大话swift 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档