A propos de la fonction main()
Remonter à La fonction main() - Index
Chaque programme C et C++ doit avoir une fonction de démarrage du programme :
- Les programmes console appellent la fonction
main
au démarrage, et la fonctionwmain
pour les programmes UNICODE. - Les programmes GUI Windows appellent la fonction
WinMain
au démarrage et la fonctionwWinMain
pour les programmes UNICODE.
L'endroit où vous placez la fonction de démarrage est une question de préférence. Certains programmeurs placent la fonction main
au début du fichier, d'autres à la fin. Quel que soit son emplacement, les points suivants relatifs à la fonction main
s'appliquent toujours :
- Mappage _TCHAR (pour UnicodeString, _tMain et _tWinMain)
- Arguments à main()
- Arguments génériques
- Utilisation de --p (convention d'appel Pascal)
- Valeur renvoyée par main()
Nos compilateurs C++ améliorés par Clang (BCC64, BCCIOSARM, et BCCAARM) appliquent désormais l'obligation de définir un type pour les déclarations dans C++. Vous recevez donc désormais une erreur si WinMain n'a pas de type de retour, comme dans
WINAPI _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int)
{
...
}
Le code ci-dessus génère désormais l'erreur suivante :
- C++ requires a type specifier for all declarations
Pour résoudre cette erreur, modifiez le code de la manière suivante :
int WINAPI _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int)
{
...
}