解决vc dll导出函数名字发生改变问题

我编写的dll测试代码如下:

#ifndef _TEST_DLL_H_
#define _TEST_DLL_H_
#include <tchar.h>

#ifdef TESTDLL_EXPORTS
#define HYX_API extern "C" __declspec(dllexport)
#else
#define HYX_API extern "C" __declspec(dllimport)
#endif

#define HYXAPI __stdcall  // __cdecl

HYX_API int HYXAPI ShowMessage(void);


#endif      // _TEST_DLL_H_

--------------------------------------------------------------------------------------------------

我编写的dll文件名为TestDll.dll, 接下来往工程中添加一个TestDll.def文件,

TestDll.def文件的内容如下:

LIBRARY "TestDll"   ;// TestDll.dll
EXPORTS
ShowMessage @ 1    ; // 或ShowMessage


解决vc dll导出函数名字发生改变问题_第1张图片

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

接下来需要设置一下工程属性,才能解决名字改编问题:

项目--->>>配置属性--->>>连接器--->>>输入--->>>模块定义文件

输入TestDll.def,然后确定,重新编译即可。如下图所示:

解决vc dll导出函数名字发生改变问题_第2张图片











你可能感兴趣的:(dll,VC,def,导出函数,名字改编)