Florent Peterschmitt

#define __unix__

Dans un code en C/C++, ou tout autre langage (adapter… Captain Obvious) où on a besoin de changer le comportement du programme en fonction de l’OS, si aucune justification n’est présente pour ne s’intéresser qu’à GNU/Linux et qu’a priori, on peut faire un premier pas vers la portabilité pour les systèmes UNIX, dans ce cas ne plus écrire :

#ifdef __linux__

Mais :

#if defined(__unix__)

En plus la dernière syntaxe à l’avantage de permettre l’utilisation de conditions.

Exemple dans le cas où on veut que le code compile pour toutes les plateformes ayant la define unix (*BSD entre autres), sauf sous GNU/Linux :

#if defined(__unix__) && !defined(__linux__)

Comments