некоторые библиотеки абстракции платформы переопределяют (я лично знаю только о библиотеках C ++, таких как Qt или ACE, которые делают это, но, возможно, некоторые библиотеки C делают что-то подобное), "main", так что они определяют основную платформу main int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow );
и настройте некоторые вещи библиотеки, преобразуйте аргументы командной строки в обычный int argc, char* argv[]
, а затем вызовите обычный int main(int argc, char* argv[])
Конечно, такие библиотеки могут привести к сбою, если они не реализовали это правильно (возможно, из-за неверно сформированных аргументов командной строки).
И для людей, которые не знают об этом, это может выглядеть как крах до main