對自己所做的事要有興趣,同時還要能夠堅持不懈
C 命名約定 (__cdecl)
_test
?test@@ZAXXZ
Fastcall 命名約定 (__fastcall)
@test@0
?test@@YIXXZ
標準調用命名約定 (__stdcall)
_test@0
?test@@YGXXZ
模塊定義 (.def) 文件是包含一個或多個描述 DLL 各種屬性的 Module 語句的文本文件。如果不使用 __declspec(dllexport) 關鍵字導出 DLL 的函數,則 DLL 需要 .def 文件。
.def 文件必須至少包含下列模塊定義語句:1.文件中的第一個語句必須是 LIBRARY 語句。此語句將 .def 文件標識為屬于 DLL。LIBRARY 語句的后面是 DLL 的名稱。鏈接器將此名稱放到 DLL 的導入庫中。2.EXPORTS 語句列出名稱,可能的話還會列出 DLL 導出函數的序號值。通過在函數名的后面加上 @ 符和一個數字,給函數分配序號值。當指定序號值時,序號值的范圍必須是從 1 到 N,其中 N 是 DLL 導出函數的個數。例如,包含實現二進制搜索樹的代碼的 DLL 看上去可能像下面這樣:
如果希望優化 DLL 文件的大小,請對每個導出函數使用 NONAME 屬性。使用 NONAME 屬性時,序號存儲在 DLL 的導出表中而非函數名中。如果導出許多函數,這樣做可以節省相當多的空間。
posted on 2009-08-03 17:12 把握命運 閱讀(18645) 評論(0) 編輯 收藏 引用
Powered by: C++博客 Copyright © 把握命運