免费注册 查看新帖 |

Chinaunix

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

[C] CygWin 如何编译 DLL ??? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-11-27 15:03 |只看该作者 |倒序浏览
RT
根据 “cygwin下dll和lib的生成方法” ,写了一个测试代码 "zcDll.c" ,内容为:

  1. #include <stdio.h>
  2. __declspec(dllexport) void zcTest1()
  3. {
  4.         printf("zc_2\n");
  5. }
复制代码
用命令 “gcc -shared zcDll.c -o zcDll.dll” 编译,出现了 zcDll.dll 。

调用的VC6代码为:

  1. #include <stdio.h>
  2. #include <windows.h>

  3. typedef void (*lpzcTest1)();

  4. void main()
  5. {
  6.         HINSTANCE hDll = LoadLibrary("zcDll.dll");

  7.         printf("2\n");
  8.         system("pause");

  9.         lpzcTest1 zcTest1 = (lpzcTest1)GetProcAddress(hDll, "zcTest1");

  10.         printf("5 : %x\n", zcTest1);
  11.         system("pause");

  12.         zcTest1(); // 卡在这里...

  13.         printf("6\n");
  14.         system("pause");
  15. }
复制代码
但是,程序卡在 “zcTest1();” 这里不动了... 占用CPU满了(双核的CPU占了50%)。不知为啥...  求教。

ps : 跑代码时需要的 cyggcc_s-1.dll、cyggcrypt-11.dll、cyggpg-error-0.dll、cygiconv-2.dll、cygintl-8.dll、cygstdc++-6.dll、cygwin1.dll 都是从 C:\cygwin\bin 里面复制出来的。

求教大家啊 ,需要用到 Linux 源码转换为Windows使用,才遇到这个问题的,于是才写了这个测试代码,请大家帮帮忙指点下啊~~~ 非常感谢。



您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP