C语⾔编译成dll
⾸先c语⾔在开始要加上
#ifdef __cplusplus
extern "C" {
#endif
…被导出的⽅法名称
#ifdef __cplusplus
}
#endif
不然系统会将起当做c++,转成的dll中的⽅法名称会被转义。在实现的⽅法名称前⾯加上__declspec(dllexport)
1. Gcc:gcc –shared -o xxxx.dll xxxx.c 可以直接将.c⽂件转成dll⽂件。在实际引⽤中,我是将所有的#include都是放在.c⽂件中的,上述的注意代码也是放在.c中的,他的头⽂件是直接抛弃掉了。
2. Vc创建⼀个c++的项⽬,⽂件-新建-新建项⽬-其他语⾔-Visual C++ - Win32 控制台应⽤程序;勾选DLL和导出符号,.c需要修改c语言ide编辑器
成.cpp,右键-属性-预编译头-不使⽤预编译头,右击项⽬“重新⽣成”。
1实地使⽤过确认可以使⽤,2未尝试过但是在使⽤c++转出dll是没有问题的
在导出过程中我们可以使⽤vs⾃带⼀个⼯具来查询⽣成的dll中有那些⽅法,例如:
Vs安装路径下:C:\vs 2012\VC\,可能会报⼀个缺少“mspdb110.dll”⽂件的错误,直接将安装路径下:C:\vs
2012\Common7\IDE下⾯的该⽂件复制粘贴到C:\vs 2012\VC\bin\下⾯。
⽤法是,先cd到dumpbin的路径下,dumpbin –exports xxxx.dll
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论