C 中的呼叫約定定義了函數參數傳遞和傳回值的方式,包括 cdecl、fastcall、thiscall 和 stdcall。實戰中,stdcall 呼叫約定可用於載入和呼叫 DLL 中的函數。
C 函數呼叫約定
#在 C 中,呼叫約定定義了函數的參數傳遞和傳回的方式。不同的呼叫約定在效能、記憶體使用和程式碼可移植性方面具有不同的權衡取捨。
常見呼叫約定
實戰案例
以下C 程式碼示範了使用stdcall 呼叫約定的函數:
#include <windows.h> // 只适用于 Windows typedef void (WINAPI *pfnPrintString)(const char*); int main() { // 加载 DLL 并获取函数指针 HMODULE hDll = LoadLibrary("mydll.dll"); pfnPrintString PrintString = (pfnPrintString)GetProcAddress(hDll, "PrintString"); // 调用函数,传递参数 PrintString("Hello, world!"); // 卸载 DLL FreeLibrary(hDll); return 0; }
在該範例中,使用stdcall 調用約定從DLL 載入並呼叫PrintString 函數。
以上是C++ 中函式呼叫約定有哪些?的詳細內容。更多資訊請關注PHP中文網其他相關文章!