Xcode编写基于C++的动态连接库(dylib)且用node-ffi-napi测试
发布时间:2023年12月17日
创建一个dylib工程示例
在 Xcode 中创建一个动态链接库(.dylib
文件)的步骤如下:
-
打开 Xcode: 打开 Xcode 应用程序。
-
创建新的工程: 选择 "Create a new Xcode project",或者使用菜单 File > New > Project
。
-
选择项目模板: 在模板选择窗口中,选择 "Framework & Library" 部分,然后选择 "STL C++"。
-
-
配置工程:
- 输入项目的名称,比如
MyDynamicLibrary
。 - 选择存储位置,并确保选中 "Create Git repository on my Mac" 以进行版本控制。
- 点击 "Create"。
-
配置项目:
- 在左侧导航栏中,选择项目文件(通常是
MyDynamicLibrary.xcodeproj
)。 - 在主窗口的 "Targets" 部分,选择 "MyDynamicLibrary"。
- 在 "Identity and Type" 部分,将 "Type" 更改为 "Dynamic Library"。
-
添加源文件:
- 在左侧导航栏中,选择 "MyDynamicLibrary"。
- 右键点击,选择 "New Group" 并命名为 "Sources"。
- 在 "Sources" 文件夹上右键点击,选择 "New File"。
- 选择 "C File" 或 "C++ File",然后输入文件名称(例如
mymodule.c
或 mymodule.cpp
)。
- 一把创建的工程默认自带.cpp/.h文件,现在MyDynamicLibrary.cpp我手动增加2个接口
-
extern "C" {
// 导出的函数
__attribute__((visibility("default")))
const char* Test(const char * s) {
printf("Hello, World!\n");
return s;
}
// 导出的函数
__attribute__((visibility("default")))
void Hell() {
std::cout << "Hello, World! Message: " << std::endl;
}
}
编译
选择输出release版本
?查看release输出文件路径
测试
?我这里使用的是node.js的node-ffi-napi调用dylib进行接口测试
拷贝编译的文件到我的工程下测试,测试如下
文章来源:https://blog.csdn.net/GUMU12345/article/details/134996228
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:chenni525@qq.com进行投诉反馈,一经查实,立即删除!