C функционирует до mainCRTS запуска на Mingw? - PullRequest
1 голос
/ 31 октября 2011
void start() {
stuff(); //code before mainCRTStartup
mainCRTStartup();
}
int main()
{
//other code
}

В Visual C ++ он прекрасно компилируется, и функция "stuff ()" вызывается перед main. Как бы вызвать "stuff ()" перед "mainCRTStartup ()"? на Mingw (ОС: Windows NT)? кажется, что игнорируется "void start ()".

Ответы [ 2 ]

1 голос
/ 24 января 2012

Реальная точка входа всегда start().

start() вызывает mainCRTStartup(), которая инициализирует функции CRT, и вызывает main(), поэтому в stuff() нельзя использовать функции CRT.

0 голосов
/ 31 октября 2011

Вы можете использовать аргумент -e для ld (компоновщик), чтобы указать start в качестве точки входа.

Я не уверен, как передать аргументы в ld, используя mingw;возможно, кто-то может отредактировать мой ответ, чтобы обеспечить это.

...