vs下.def檔案使用無效問題

whatday發表於2013-05-25
相信用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檔名稱,重新編譯一下工程。
再次檢視一下輸出如下:

相關文章