VC 使用 MinGW编写的dll
2012-03-27 14:14
225 查看
转自:/article/5574910.html
参考文章:
①http://www.360doc.com/content/10/0907/16/169163_51891922.shtml
②http://www.adp-gmbh.ch/win/misc/mingw/dll.html
因为对IA32汇编格式不熟悉 - -! ,所以写了一些用C内嵌GNU汇编的代码来获取CPU的信息,想用VC来做界面,C函数用MinGW在Windows平台编译,完事遇到一个问题,gcc编译出来的dll文件VC无法识别,于是昨天晚上和今天下午都在查找资料,下面是我整理来的,不知道这样用合不合适啊,不合适你们砸我,谢谢,
步骤:
1,首先编译C,根据MinGW官网来的,当然它那个后边有一个C#的范例(但是用不上啊)。
?
说明:-Wall 显示所有的警告消息。
-shared 连接器将生成共享目标代码,该共享库可在运行时动态连接到程序形成完整的可执行体。
2,制作def文件,使用pexports工具,下载地址:http://www.emmestech.com/software/pexports-0.43/download_pexports.html
这个文件可以放在windwos的path目录中,或者MinGW中,大概以后经常用到的。
?
3,然后有def文件生成lib文件
?
执行后生成两个文件 destination.exp destination.lib
4,修改头文件,因为是在C++里面调用C函数,所以要通知编译器使用C的调用约定,使用extern “C” {} 。
extern "C"
{
//函数列表
}
5,在C++文件中添加代码
#pragma comment(lib, "destination.lib")
#include "source.h"
现在就可以正常编译了。。。。。
参考文章:
①http://www.360doc.com/content/10/0907/16/169163_51891922.shtml
②http://www.adp-gmbh.ch/win/misc/mingw/dll.html
因为对IA32汇编格式不熟悉 - -! ,所以写了一些用C内嵌GNU汇编的代码来获取CPU的信息,想用VC来做界面,C函数用MinGW在Windows平台编译,完事遇到一个问题,gcc编译出来的dll文件VC无法识别,于是昨天晚上和今天下午都在查找资料,下面是我整理来的,不知道这样用合不合适啊,不合适你们砸我,谢谢,
步骤:
1,首先编译C,根据MinGW官网来的,当然它那个后边有一个C#的范例(但是用不上啊)。
?
-shared 连接器将生成共享目标代码,该共享库可在运行时动态连接到程序形成完整的可执行体。
2,制作def文件,使用pexports工具,下载地址:http://www.emmestech.com/software/pexports-0.43/download_pexports.html
这个文件可以放在windwos的path目录中,或者MinGW中,大概以后经常用到的。
?
?
4,修改头文件,因为是在C++里面调用C函数,所以要通知编译器使用C的调用约定,使用extern “C” {} 。
extern "C"
{
//函数列表
}
5,在C++文件中添加代码
#pragma comment(lib, "destination.lib")
#include "source.h"
现在就可以正常编译了。。。。。
相关文章推荐
- 使用QT+MinGW编写动态库dll供VC或VB调用
- 使用QT+MinGW编写动态库dll供VC或VB调用
- MinGW如何使用VC编译的DLL??
- VC++编写DLL供C#使用
- Win7环境使用VC2008编写DLL实现键盘钩子
- 用VC++编写供PowerBuilder使用的DLL
- 使用VC编写VB使用DLL
- mingw如何使用VC编译的dll
- VC++编写DLL供C#使用
- VC下动态库dll,静态库lib的编写和使用方法
- vc编写供vb使用的dll文档
- 关于在VB.NET中调用使用VC++编写的类库dll的一点笔记
- VC下动态库DLL、静态库LIB的编写和使用方法
- VC++下使用ADO编写数据库程序
- 使用VC下的cl和link手工创建dll并实现函数导入
- VC中使用Matlab Engine出现"无法找到libeng.dll"的问题
- 在VC使用DevIL: lib dll #include的相关设置
- VC编写DLL几种方法的简介
- 在VC中使用ATL编写的COM组件
- 编译2010年x264最新的代码供VC编译使用DLL与LIB