[gull] C++ sous linux

Marc Mongenet marc.mongenet at gmail.com
Sun Apr 24 13:14:02 CEST 2005


> En fait, mon but est de travailler sur un projet sous linux
> parallèlement à qqn sous windows utilisant Visual Studio .net. Les
> librairies utilisées dans le programme semblent être standard, cela
> devrait donc être possible. Est-ce que l'ajout de "using namespace std"
> sera également supportée sous windows?
> 
> Autre question, y a-t'il une variable du preprocesseur permettant de
> savoir sous quelle plateforme on est? De telle sorte de pouvoir ajouter
> des instructions de compilation conditionnelles de type
> 
> #ifdef FOO
> 
> afind d'adapter le programme en fonction de la plateforme.
> 
> Bon dimanche. :)
> 
> Pat

Les namespaces sont bien supportés par les compilateurs C++,
ça ne devrait poser aucun problème de compatibilité.
Je serais notamment surpris que le programme doive être modifié
au niveau des namespace pour être compatible avec G++ et VC++.
En revanche en cas d'usage intensif des templates, et notamment de la
bibliothèque standard, on peut craindre de nombreux problèmes. On
trouve des descriptions d'un échantillon de ces problèmes un peu partout
sur le Web, par exemple http://www.acceleratedcpp.com/details/msbugs.html

Il existe un nombre considérable de variables du préprocesseur,
dont __GNUC__ et _MSC_VER.
Pour le préprocesseur GNU, voir par exemple :
http://gcc.gnu.org/onlinedocs/cpp/Predefined-Macros.html
Pour le compilateur de Microsoft, voir par exemple :
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclang/html/_predir_predefined_macros.asp

Et on peut aussi définir des variables en paramètres de compilation avec
l'option -D, qui me semble assez portable (vérifier tout de même pour MSVC).

Marc Mongenet



More information about the gull mailing list