Comprendre la macro principale de SDL
Lorsque vous rencontrez des problèmes avec la configuration de SDL, il est courant de tomber sur la présence surprenante de la macro principale. Cette macro remplace la définition typique de la fonction principale, entraînant des erreurs de compilation si la fonction principale ne dispose pas des paramètres argc et argv.
Pourquoi la macro principale ?
La bibliothèque SDL nécessite une initialisation avant d'exécuter le code utilisateur. Pour garantir cela, SDL définit sa propre fonction principale qui effectue cette initialisation. En remplaçant la fonction main d'origine par SDL_main, SDL conserve la possibilité d'effectuer son initialisation avant d'exécuter le code de l'utilisateur.
Redéfinir main
Bien qu'il soit possible de dédéfinir main et utilisez-le de manière conventionnelle, cela peut avoir des conséquences. SDL redirige la sortie standard et les erreurs vers des fichiers. Si main n'est pas défini, ce comportement cesse.
Implications supplémentaires
S'il est nécessaire d'utiliser WinMain() au lieu de main(), reportez-vous au code source SDL pour déterminer les étapes d'initialisation correctes requises dans WinMain() pour que SDL fonctionne correctement.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!