这几天需要给LabWindows程序写一个DLL库。在写这个库的时候发现了一个问题。在vc中创建一个Win32 Dynamic-Link Library工程。导出一个函数fnTest。
TEST_API int fnTest();
然后为了不会改变名称,我添加了test.def文件。但是这个时候Labwindows提示说找不到_fnTest
后来我在把函数的定义中改成了
extern "C" TEST_API int fnTest();
就可以在LabWindows中使用了。我用fi看了一下,有extern"C" 和没有extern "C"的两种情况的DLL文件的export表。
都是一样的,但是为什么没有extern "C"就不能用呢???
TEST_API int fnTest();
然后为了不会改变名称,我添加了test.def文件。但是这个时候Labwindows提示说找不到_fnTest
后来我在把函数的定义中改成了
extern "C" TEST_API int fnTest();
就可以在LabWindows中使用了。我用fi看了一下,有extern"C" 和没有extern "C"的两种情况的DLL文件的export表。
都是一样的,但是为什么没有extern "C"就不能用呢???
labwindows是纯c的是不是.lib文件里面出的什么问题????
有时候就是这么简单的原因,跟其他什么MFC啦,什么LIB啦都没关系。