目錄表

,

DLL的一堆疑問

我所遇到的都是延續前人所做好的dll,也因此對dll的使用宣告方式有疑惑。以下是我study MSDN與網路上文章後,做一些實驗的重點整理:

.def與__declspec(dllexport)

Reference

fastcall、cdecl與stdcall

這三個宣告叫呼叫慣例(Calling Conventions)。三者將參數放入Stack的順序皆為由左至右,但還有以下差異存在:

VC++預設使用cdecl,Borland C++預設使用fastcall。另外有幾點需要注意:

對於呼叫慣例,可以透過VC的dumpbin.exe /export看它的宣告方式:

Reference