相信用vs2005编译写.dll的工程的人一定对.def文件不陌生吧,.def文件是描述哪些要被导出来的函数。
格式如下:
LIBRARY CMPNT2 -->dll名称

EXPORTS -------->导出函数的标记符

Dll_Function_1 -->被导出的函数名称
Dll_Function_2
..................
在我们的Dll工程里添加好.def文件后编程,生成dll文件。

    现在我们,打开调试工具"开始"->"Microsoft Visual Studio 2005"->"Visual Studio Tools"->"Visual Studio 2005 Command Prompt"在窗口输入dumpbin -EXPORTS XXX.dll 查看导出哪些函数被导出。

如:
结果发现没有导出任何函数来。这是为什么呢?

    经过一番的折腾,才发现虽然我们把.def文件添加在工程里,但是那个文件根本就没有被编译。这时,我们还需要做一个事情是。在工程属性里,"Linker"->"Input"->"Module Definition File"加入.def文件名称,重新编译一下工程。

再次查看一下输出如下: