参考文章:

①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#的范例(但是用不上啊)。

gcc -Wall -shared source.c -o destination.dll

说明:-Wall 显示所有的警告消息。

   -shared 连接器将生成共享目标代码,该共享库可在运行时动态连接到程序形成完整的可执行体。

2,制作def文件,使用pexports工具,下载地址:http://www.emmestech.com/software/pexports-0.43/download_pexports.html

  这个文件可以放在windwos的path目录中,或者MinGW中,大概以后经常用到的。

pexports destination.dll -o > destination.def

3,然后有def文件生成lib文件

lib /machine:ix86 /def:destination.def

 执行后生成两个文件 destination.exp destination.lib

4,修改头文件,因为是在C++里面调用C函数,所以要通知编译器使用C的调用约定,使用extern “C” {} 。

extern "C"
{
//函数列表
}

5,在C++文件中添加代码

#pragma comment(lib, "destination.lib")
#include "source.h"

现在就可以正常编译了。。。。。

转载于:https://www.cnblogs.com/cuixs/archive/2011/01/01/1923774.html

VC 使用 MinGW编写的dll相关推荐

  1. 用VC和MinGW导出dll的def和lib(a)文件

    为什么80%的码农都做不了架构师?>>> 原文地址:http://zhangyafeikimi.iteye.com/blog/404580 有了dll文件需要导出def文件:  pe ...

  2. VC++动态链接库编程之MFC DLL

    1.概论 先来阐述一下DLL(Dynamic Linkable Library)的概念,你可以简单的把DLL看成一种仓库,它提供给你一些可以直接拿来用的变量.函数或类.在仓库的发展史上经历了" ...

  3. VC代码的编写和调试

    VC代码的编写和调试(转载) VC代码的编写和调试(转载) //========================================== // [转载声明] // 出自: // 作者:   ...

  4. vc 写c语言程序步骤,VC++ 6.0编写程序的详细步骤

    想知道VC++ 6.0工具如何编写程序吗,可能有些朋友还不熟悉,我们一起去了解一下VC++ 6.0编写程序的详细步骤吧. VC++ 6.0编写程序的详细步骤 vc++6.0的菜单简洁,工具明了,这里以 ...

  5. Silverlight实用窍门系列:22.Silverlight使用WebService调用C++,Delphi编写的DLL文件【实例源码下载】...

    在Silverlight程序(非Out of Browser模式)中是无法直接调用DLL的,但是很多的计算或者其他应用程序的调用中我们需要用到DLL的加载.比如调用DLL来识别身份证读卡器传输过来 ...

  6. VC++6 开发MFC扩展DLL以及MFC DLL可以包含界面

    VC环境可以开发win32 DLL和MFC DLL:下面来开发一个MFC DLL:Win7, VC6: 新建一个MFC exe工程:名为mfcddd:在同级目录下新建一个文件夹,名为mfcbin: 默 ...

  7. 自已编写C# DLL 绑定到unity进程进行单步调试

    测试环境一:mac Catalina-10.15.4, vs2019 for mac, unity2019.3.6f1 for mac 要在VS2019的 [适用于UNITY的工具]中,将 [调试程序 ...

  8. python调用c#注意事项_Python调用C#编写的DLL

    起因是工作中需要用的开发编写的DLL,但是它是使用C#编写的,本人不想使用C#去写测试代码,所以需要使用Python来掉这个DLL内的方法 就用这个就很好,不要问为啥不用微软的Ironpython和别 ...

  9. Delphi环境中编写调用DLL的方法和技巧

    Delphi环境中编写调用DLL的方法和技巧 第一章 为什么要使用动态链接库(DLL) top 提起DLL您一定不会陌生,在Windows中有着大量的以DLL为后缀的文件,它们是保证Windows正常 ...

最新文章

  1. 通过windows系统封杀IP与端口
  2. mac python3.8上怎么安装pygame 第三方库_Python3.8安装Pygame Python3.8安装Pygame教程步骤详解...
  3. 首届腾讯运维技术开放日!对外报名正式启动!
  4. 用几张图片教你,财务分析的平台、架构、指标体系、模型
  5. win10玩cf不能全屏_游戏莫名卡顿三招搞定!Win10游戏优化教程
  6. 大数据学习笔记26:MR案例——双重排序(先按月份升序,再按利润降序)
  7. Java的二级动态菜单实现
  8. 华为手机如何连计算机,华为手机如何连接电脑 华为手机助手怎么连接华为手机...
  9. 信捷PLC编程工具软件是款编程工具
  10. PS教程淘宝美工平面设计入门自学课 photoshop软件零基础视频大全
  11. AWS中国EC2 80端口无法访问
  12. EDM营销常见问题之邮件被退回原因剖析
  13. 宽带通云解析结合用友致远A6使用方法
  14. 关于react-native-datetimepicker无法使用中文的问题;
  15. 机器学习--Iris数据集的Fisher线性分类以及数据可视化技术的学习
  16. 【ROM制作工具】华为UPDATE.APP固件一键解包打包教程
  17. 行业新生态,从区块链系统开发开始
  18. 英语八年级上册计算机的事实,人教版英语|八年级上册各单元必考知识点汇总,收藏!...
  19. 各种注意事项集合(to be continued)
  20. 【奇奇怪怪的bug】删除文件显示「找不到该项目」怎么办

热门文章

  1. http发送16进制报文_图解HTTP 第三章HTTP报文内的HTTP信息
  2. python判断密码是否合法性_菜鸟使用python实现正则检测密码合法性
  3. 在控制台环境下调用MFC DLL崩溃的问题小结
  4. 移动设备响应式网站之CSS媒体查询
  5. python界面开发webview_Python+Appium学习篇之WebView处理
  6. 【java学习之路】(数据结构篇)002.栈和队列
  7. ubuntu PyCharm的安装
  8. 熟悉JDK8新特性,“Lambda表达式与函数式接口”
  9. 时空复杂度(时间复杂度/空间复杂度)O(1)、O(n)、O(n^2)、O(log n)、O(n log n)是什么意思,借鉴 然后自己借鉴出来
  10. VUE3.0引入本地js文件