2011-10-30 4 views
1
void start() { 
stuff(); //code before mainCRTStartup 
mainCRTStartup(); 
} 
int main() 
{ 
//other code 
} 

En Visual C++, il compile bien et la fonction "stuff()" est appelée avant main. Comment appellerait "stuff()" avant "mainCRTStartup()"? sur Mingw (OS: Windows NT)? il semble ignorer "void start()".C fonctions avant mainCRTStartup sur Mingw?

+1

mais pourquoi voulez-vous faire cela au lieu de mettre le code en main - oui, j'ai fait une chose similaire ... mais ... –

Répondre

0

Vous pouvez utiliser l'argument -e à ld (l'éditeur de liens) pour spécifier start comme point d'entrée.

Je ne suis pas sûr comment nourrir les arguments à ld en utilisant mingw; peut-être que quelqu'un peut modifier ma réponse pour fournir cela.

+0

Je crois que c'est '/ ENTRY:' – Steve

1

Le vrai point d'entrée est toujours start().

start() appelle mainCRTStartup() initialisant fonctions CRT et appeler main(), donc en stuff(), vous ne pouvez pas utiliser les fonctions CRT.

Questions connexes