

全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Cygwin的gcc编译器使用windows的dll文件一般的步骤是使用pexports或dumpbin程序导出dll的DEF文件其中dumpbin导出的DEF文件需要手动修改,所以推荐使用pexports,做法如下: pexports libFedTimed.dll libFedTimed.def dlltool -D libFedTimed.dll -d libFedTimed.def -l libFedTimed.a -k 如果该dll是C的函数库,如libmysql.dll或者kernel32.dll类的DLL,这样做就一点问题没有,直接使用。但是如果是VC6、VC7生成的C库则存在C/C+ 轧名规则(name mangling)问题,参见如下表 Compiler void h(int) void h (int, char) void h(void) GNU GCC 3.x _Z1hi _Z1hic _Z1hv GNU GCC 2.9x h_Fi h_Fic h_Fv Intel C+ 8.0 for Linux _Z1hi _Z1hic _Z1hv Microsoft VC+ v6/v7 ?hYAXHZ ?hYAXHDZ ?hYAXXZ Borland C+ v3.1 h$qi h$qizc h$qv OpenVMS C+ V6.5 (ARM mode) H_XI H_XIC H_XV OpenVMS C+ V6.5 (ANSI mode) CXX$_7H_FI0ARG51T CXX$_7H_FIC26CDH77 CXX$_7H_FV2CB06E8 OpenVMS C+ X7.1 IA-64 CXX$_Z1HI2DSQ26A CXX$_Z1HIC2NP3LI4 CXX$_Z1HV0BCA19V Digital Mars C+ ?hYAXHZ ?hYAXHDZ ?hYAXXZ SunPro CC _1cBh6Fi_v_ _1cBh6Fic_v_ _1cBh6F_v_ HP aC+ A.05.55 IA-64 _Z1hi _Z1hic _Z1hv HP aC+ A.03.45 PA-RISC h_Fi h_Fic h_Fv Tru64 C+ V6.5 (ARM mode) h_Xi h_Xic h_Xv Tru64 C+ V6.5 (ANSI mode) _7h_Fi _7h_Fic _7h_Fv 不同编译器生成的导出名称不同,所以在使用Cygwin的gcc编译器链接libFedTimed.a时会出现undefined reference to RTI:FedTimeFactory:makeZero() tstDMSORti HelloWorld.cpp line 442 1225384733078 5683错误因为gcc编译对RTIfedTime:getTime()翻译为:_ZN3RTI14FedTimeFactory8makeZeroEv而DMSORTI的libFedTimed.dll提供的是:?makeZeroFedTimeFactoryRTI 通过自己的摸索,可以修改libFedTimed.def文件中的导出函数声明为:_ZN3RTI14FedTimeFactory8makeZeroEv=?makeZeroFedTimeFactoryRTI再使用dlltool -D libFedTimed.dll -d libFedTimed.def -l libFedTimed.a -k生成的.a文件就可以使用了。 这里还有一个小技巧:先将你的源程序编译出来的.o文件使用nm -s Country.o fungcc3.txt 得到针对函数的gcc命名_ZN3RTI14FedTimeFactory8makeZeroEv,但是它不容易分辨出来,再使用c+filt提出可阅读的的函数调用名称cat fungcc3.txt | c+filt fungcc3read.txt针对VC生成的.def文件,同样可以使用undname恢复函数名称undname libFedTimed.d
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年零售行业医药零售供应链协同合规认证考核试卷
- 2025年中医药应急预案编制中医药现代化合规考核试卷
- 2025年公共卫生执业医师资格《流行病学》实践能力应用强化考核试卷(含突发公共卫生事件应急处置新流程)
- 解析卷人教版八年级物理上册第4章光现象同步测试试卷(含答案详解)
- 104试卷前培训考核规范岗生产安全安全工业料车间防爆5年锂电材02.203
- 解析卷-人教版八年级物理上册第5章透镜及其应用综合训练练习题(解析版)
- 考点解析-人教版八年级上册物理物态变化《汽化和液化》单元测试试题(含详细解析)
- 培养测量素养丰厚活动经验
- 学校后勤工作人员绩效工资考核方案(2025年)
- 广告租赁安装合同(标准版)
- 湾汇云中心公馆500㎡超豪宅方案
- 山东省名校考试联盟2026届高三上学期10月阶段性检测数学试卷(含答案)
- 2025年个人电动汽车购买协议
- 无人机测绘课件
- 养老机构销售技巧培训
- 创意笔筒产品设计与制作方案
- 公文格式培训课件
- 快递员安全寄递培训课件
- 2025公务员考试《常识》高分题库完美版附答案详解
- 文库发布:五岳课件
- 装修直播培训课课件
评论
0/150
提交评论