基於我的理解,名稱修飾用於存在函數重載時,以便可以區分具有相同名稱的函數。爲什麼與WinMain()函數一起使用名稱修飾?
但我已經注意到,名稱修改也用於WinMain()
函數(它不會超載)。在命名後,它變成[email protected]
。
那麼爲什麼名稱使用WinMain()
函數?
這是我使用的代碼:
#include <windows.h>
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow)
{
return 0;
}
如果編譯器實際* *破壞了'WinMain'符號,它將會是你看到的完全不同的東西。你看到的是編譯器對WinMain符號有特殊的處理。 –
我相信'_WinMain @ 16'是mingw/gcc編譯器使用的一些內部名稱。 16這應該是什麼意思,我不知道。 – Lundin
@Lundin @代表'stdcall'調用約定,'16'代表參數列表的大小(這裏是4個字節的參數的4倍)。使用其他調用約定的函數的裝飾不同。 –