Les macros se trouvent ici:
Des directives générales se trouvent ici:
Veuillez envoyer des mises à jour / corrections à PredEF-Contribute ou via des demandes de traction sur GitHub.
Les compilateurs C et C ++ définissent automatiquement certaines macros qui peuvent être utilisées pour vérifier les fonctionnalités du compilateur ou du système d'exploitation. Ceci est utile lors de la rédaction d'un logiciel portable.
Ces pages répertorient diverses macros de compilateur prédéfinis qui peuvent être utilisés pour identifier les normes, les compilateurs, les systèmes d'exploitation, les architectures matérielles et même les bibliothèques d'exécution de base au moment de la compilation.
Par exemple, si nous voulons utiliser un type de pointeur générique ou opaque, nous utilisons des pointeurs vides. Cependant, les compilateurs K&R anciens (à partir du temps avant la première norme ANSI C) ne soutiennent pas les pointeurs vides. Au lieu de cela, nous pouvons définir notre propre type:
#if defined( __STDC__ ) || defined( __cplusplus ) || defined( _MSC_EXTENSIONS )
typedef void * t_pointer ;
#else
typedef char * t_pointer ;
#endif Un autre exemple, Microsoft Visual C ++ version 4.2 a ajouté un pragma pour réduire les temps de compilation en n'incluant qu'une seule fois un fichier (si _MSC_VER n'est pas défini, il évaluera à 0 (zéro) - cependant, certains compilateurs peuvent se plaindre d'un macro non défini)
#if defined( _MSC_VER ) && ( _MSC_VER >= 1020 )
#pragma once
#endifLes macros contenues dans ces pages ont été obtenues via la documentation du fournisseur, le script définit, les contributeurs et le code source tiers. Aucune garantie sur l'exactitude des macros n'est donnée.
Une alternative souvent utilisée est AutoConf, qui est un outil plus puissant pour examiner divers types de fonctionnalités, y compris les options de compilation. Cependant, AutoConF est assez centré sur Unix et nécessite une couche UNIX sur d'autres plates-formes (par exemple Cygwin sur Windows). D'autres alternatives sont BuildTool, Cmake, Scons, PMK, Jam, Ant et Bakefile.
Bjorn Reese, Daniel Stenberg, Greg Roelofs, Steven G. Johnson, Wlodzimierz Abx Skiba, Marc Finet, Philip Newton, Mitchell Charity, Christian Klutz, Seo Sanghyeon, Chris Adami Zeitlin, Steve White, Thomas David Rivers, Tom Honermann, Martin Mitas, Dinesh Chhadwa, Erik Faye-Lund, Leo Davis, Paul Hsieh, Roland Schwarz, Darko Kolakovic, Andy Buonviri, Ming Kin Lai, Kent Johnson, Helmut Bauer, Oliver Schneider, Ron Pimblett, Jose Luis Rodriguez Garcia, Jeroen Ruigrok van der Werven, Uffe Jakobsen, Bryan Ashby, Bruno Haible, Artur Bac, Terry Schwarz, Leo Davis, Markus Duft, William Dang, Paul Green, Ruben Van Boxem, Pau Garcia I Quiles, Mikulas Patocka, Leo Davis, Mark Ferry Hans-Christoph Steiner, Gerald Combs, Denys Bulant, Massimo Morara, Jeremy Bennett, Guillem Jover, Riku Voipio, Jacques Pelletier, Mark Jarvin, Georg Sauthoff, Scot Jenkins, Grzegorz Brzęczyszczykiewicz, John Dallman, Gianmichele Toglia, Robbie Groenewoudt, Andreas Mohr, алек Ceй ююрецкий, Sverre Hvammen Johansen, Stefan Tauner, Daniel Garcia, Ozkan Sezer, Dean Saridakis, Frank Long, Kevin Adler.