|
现在用DEV-C++写了一dll, 生成了一个.a的静态库文件和一个.dll的动态库,再用DEV-C++写一个控制台程序,通过链接上面的.a文件来调用dll的函数,ok, 通过。
后来在VC2003里面,同样的控制台程序,同样通过链接.a文件,调用那个.dll,编译生成通过,没问题,却在执行的时候在调用DLL中函数的时候报访问冲突。
VC2003中,不链接那个.a文件,使用LoadLibrary和GetProcAddress来加载.dll中的函数,并执行,OK,通过。
为什么VC2003中链接.a文件执行的时候会出错?难道.a文件和VC的编写dll是生成.lib文件格式不一样?那为什么VC编译链接.a文件时没问题?怎么才能使Dev-C++编写的DLL能通过链接.a文件调用DLL?(要调用的函数全部要使用GetProcAddress比较痛苦) |
|