社区
工具平台和程序库
帖子详情
支持多语言调用的DLL封装
Superisys
2019-09-29 03:41:54
各位大虾,我是做硬件产品的,产品销售的时候需要提供SDK供客户进行开发。客户有使用C#,C++,Java等开发语言的,我怎么来封装我的SDK才能让各个开发语言都通用?
...全文
102
4
打赏
收藏
支持多语言调用的DLL封装
各位大虾,我是做硬件产品的,产品销售的时候需要提供SDK供客户进行开发。客户有使用C#,C++,Java等开发语言的,我怎么来封装我的SDK才能让各个开发语言都通用?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
tchhyc
2019-09-29
打赏
举报
回复
换个思维,有没可能只提供标准接口出来,比如http的接口出来,具体对接语言有对方自己考虑,只需要做http对接即可。
铖邑
2019-09-29
打赏
举报
回复
要做不同的打包,虽然接口类似,但还是会有差别
轻箬笠
2019-09-29
打赏
举报
回复
__stdcall了解下
stherix
2019-09-29
打赏
举报
回复
最好只提供函数调用,函数的入口参数最好都是简单数据类型或者简单数据类型的数组,指针 当然结构体/结构体指针也是可以的,这时候要显式声明结构体的对齐方式等 少用联合当参数 函数返回值最好不要是指针(除非它是个常量)和结构体,而只返回简单的数字类型 尽可能不用回调函数作为参数,如果必须要用的话,参数也和上面的要求要一致 导出函数声明为extern "C" 如果要封装类,就必须做成COM组件
使用API函数实现的串口通讯
DLL
(含源码VC++)
使用API函数实现的串口通讯
DLL
,使用VC++编写,可以单独使用,注意看“使用说明.txt”,奇怪,为什么现在有这种限制了
C#多线程
调用
C++
封装
Dll
【代码】C#多线程
调用
C++
封装
Dll
。
C++
调用
dll
的方法
在C++中,为了
支持
重载机制,在编译生成的汇编码中,要对函数的名字进行一些处理,加入比如函数的返回类型等等.而在C中,只是简单的函数名字而已,不会加入其他的信息.也就是说:C++和C对产生的函数名字的处理是不一样的。
dll
的开发者可以通过
dll
隐藏接口的代码实现,比如你只想让其他人使用你的算法,但不想让其他人知道你的算法和逻辑代码,就可以把它们
封装
到
dll
中。动态
调用
不是链接时完成的,而是在运行时完成的,动态
调用
不会在可执行文件中写入
DLL
相关的信息,而是直接
调用
dll
中的函数。
c++动态链接库
dll
的
封装
和
调用
上面用三种方法创建了导出函数,_declspec(
dll
export)修饰函数,_declspec(
dll
export)修饰类,在def文件中进行声明。在属性->vc++目录->库目录这里选择 lib文件生成的目录 ,写进去,这样我们的程序才能找到对应的lib文件。将反复使用的函数,或者多个项目都会共同
调用
的模块
封装
成一个库函数让项目去
调用
。来说明需要导出的模块,修饰符:__declspec(
dll
export)在连接器->输入那里,选择我们要
调用
的lib文件。,这个函数能进行导出,其他的程序能进行
调用
,
wasm转c
调用
与
封装
至
dll
案例
wasm转c
调用
与
封装
至
dll
案例
工具平台和程序库
24,856
社区成员
27,330
社区内容
发帖
与我相关
我的任务
工具平台和程序库
C/C++ 工具平台和程序库
复制链接
扫一扫
分享
社区描述
C/C++ 工具平台和程序库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章