我所遇到的都是延續前人所做好的dll,也因此對dll的使用宣告方式有疑惑。以下是我study MSDN與網路上文章後,做一些實驗的重點整理:
這三個宣告叫呼叫慣例(Calling Conventions)。三者將參數放入Stack的順序皆為由左至右,但還有以下差異存在:
VC++預設使用cdecl,Borland C++預設使用fastcall。另外有幾點需要注意:
對於呼叫慣例,可以透過VC的dumpbin.exe /export看它的宣告方式: