Les conventions d'appel en C++ définissent la façon dont les arguments de fonction sont transmis et les valeurs sont renvoyées, notamment cdecl, fastcall, thiscall et stdcall. En pratique, la convention d'appel stdcall peut être utilisée pour charger et appeler des fonctions dans une DLL.
Convention d'appel de fonction C++
En C++, la convention d'appel définit la manière dont les paramètres d'une fonction sont transmis et renvoyés. Différentes conventions d'appel entraînent des compromis différents en termes de performances, d'utilisation de la mémoire et de portabilité du code.
Convention d'appel commune
Cas pratique
Le code C++ suivant illustre une fonction utilisant la convention d'appel 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; }
Dans cet exemple, la fonction PrintString est chargée à partir d'une DLL et appelée en utilisant la convention d'appel stdcall.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!