0
在export.def文件一個可以把這樣的詩句:導出功能
LIBRARY plug
EXPORTS
funcName
main=funcName
什麼是這樣的方式導出功能的效果?它是否導出屬於同一個函數的兩個函數名?還是隻是出口功能,給它另一個名字?
在export.def文件一個可以把這樣的詩句:導出功能
LIBRARY plug
EXPORTS
funcName
main=funcName
什麼是這樣的方式導出功能的效果?它是否導出屬於同一個函數的兩個函數名?還是隻是出口功能,給它另一個名字?
根據MSDN:
出口關鍵字可以是在同一行上如前面行上的第一個定義或 。 .def文件可以包含一個或多個EXPORTS 語句。
語法出口的定義是:
entryname[=internalname] [@ordinal [NONAME]] [PRIVATE] [DATA]
EntryName是$,你要導出的函數或變量名。 這是必填項。如果您導出的名稱與 DLL中的名稱不同,請在帶有內部名稱的DLL中指定導出名稱。對於 例如,如果你的DLL導出的函數,func1的(),你希望它是作爲FUNC2 (),應指定:
EXPORTS func2=func1
我沒有意識到DEF文件仍在使用。我認爲它們被大量棄用,並且非常沮喪地使用它們。 –
您可以發表一個鏈接,告訴它爲什麼被棄用?找不到與Google相關的任何內容。 – Vadim
模塊定義文件不被棄用。它們是可選的,因爲您可以使用__declspec(dllexport)和鏈接器開關完成大多數事情。但是你可以在沒有dllexport的情況下創建一個導出別名(這就是這個問題的關鍵),你也不能指定序號(有時是二進制兼容性所必需的)。 .def文件將你需要了解的DLLs配置信息放在一個地方(對源代碼管理有用)。否則,你必須通過項目文件或makefile(用於鏈接器選項)和源文件(用於dllexports)進行探索。 –