- 论坛徽章:
- 0
|
RT
根据 “cygwin下dll和lib的生成方法” ,写了一个测试代码 "zcDll.c" ,内容为:
- #include <stdio.h>
- __declspec(dllexport) void zcTest1()
- {
- printf("zc_2\n");
- }
复制代码 用命令 “gcc -shared zcDll.c -o zcDll.dll” 编译,出现了 zcDll.dll 。
调用的VC6代码为:
- #include <stdio.h>
- #include <windows.h>
- typedef void (*lpzcTest1)();
- void main()
- {
- HINSTANCE hDll = LoadLibrary("zcDll.dll");
- printf("2\n");
- system("pause");
- lpzcTest1 zcTest1 = (lpzcTest1)GetProcAddress(hDll, "zcTest1");
- printf("5 : %x\n", zcTest1);
- system("pause");
- zcTest1(); // 卡在这里...
- printf("6\n");
- system("pause");
- }
复制代码 但是,程序卡在 “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使用,才遇到这个问题的,于是才写了这个测试代码,请大家帮帮忙指点下啊~~~ 非常感谢。
|
|