免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2876 | 回复: 2
打印 上一主题 下一主题

MinGW __stdcall 问题! (已经解决) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-05-05 13:42 |只看该作者 |倒序浏览
最近要写一个DLL,想用MINGW写,问题是!

函数如果使用__stdcall 的方式导出则会出现function@4     (数字是占用的字节数好像是)

而如果用__codel的方式导出就不会有这个问题

函数的代码
  1. /*
  2. * This is a dll for test
  3. * Compile : gcc -mwindows -shared test.c -o test.dll
  4. */

  5. /* define __CYGWIN__ for cancel include winsock2.h */
  6. #define __CYGWIN__

  7. #include <stdio.h>
  8. #include <windows.h>

  9. typedef unsigned long u_long;

  10. u_long
  11. __stdcall testexport(u_long hostlong)
  12. {
  13.         MessageBox(0, "这是我想显示的字", "这是标题", 0);
  14.         return 0;
  15. }
复制代码
函数名称会变成

testexport@4

mingw版本

MinGW 5.1.6
Thread model: win32
gcc version 3.4.5 (mingw-vista special r3)

操作系统版本
xp sp3

已经在网上搜索了很多方法


帖子刚写完,方法就找到了。。。。

添加参数
-Wl,--kill-at

郁闷ing.....

论坛徽章:
0
2 [报告]
发表于 2010-05-09 19:13 |只看该作者
收藏,说不定用的着,呵呵。

论坛徽章:
0
3 [报告]
发表于 2010-05-10 09:23 |只看该作者
{:2_167:}
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP