void start() { stuff(); //code before mainCRTStartup mainCRTStartup(); } int main() { //other code }
В Visual C ++ он прекрасно компилируется, и функция "stuff ()" вызывается перед main. Как бы вызвать "stuff ()" перед "mainCRTStartup ()"? на Mingw (ОС: Windows NT)? кажется, что игнорируется "void start ()".
Реальная точка входа всегда start().
start()
start() вызывает mainCRTStartup(), которая инициализирует функции CRT, и вызывает main(), поэтому в stuff() нельзя использовать функции CRT.
mainCRTStartup()
main()
stuff()
Вы можете использовать аргумент -e для ld (компоновщик), чтобы указать start в качестве точки входа.
ld
start
Я не уверен, как передать аргументы в ld, используя mingw;возможно, кто-то может отредактировать мой ответ, чтобы обеспечить это.