Источники Microsoft CRT можно найти в «% Program Files% \ Microsoft Visual Studio x.0 \ VC \ crt \ src».
Точка входа для исполняемых файлов (mainCRTStartup
) находится в crt0.c или, в случае использования DLL времени выполнения, в crtexe.c. Вы можете видеть, что после вызова main()
он вызывает exit()
. Исходный код exit()
находится в crt0dat.c. Он вызывает обработчики завершения C и C ++ (закрывающие дескрипторы stdio и т. Д.), Вызывает atexit()
функции и, наконец, вызывает __crtExitProcess (), который вызывает ExitProcess () .
для kernel32.