[C] - compilation conditionelle (selon système win ou unix)

- compilation conditionelle (selon système win ou unix) [C] - C++ - Programmation

Marsh Posté le 19-05-2003 à 22:57:03    

bonsoir :)
 
je me retrouve avec un pti pb voulant faire marcher un programme c à la fois sous unix et sous windows.
 
les seules différences sont:
 
 - getch() ds <conio.h> sou win et fonction recrée à l'aide de <termios.h> sou unix
 
 - system("clear" ) sous unix et sytem("cls" ) sous win pour vider la sortie sur la console.
 
je me demndais s'il y avais aps un moyen de me definir des options de compilation selon l'environement, mais voila, comme t le detecter ?
 
   merci bcp d'avance :)
 
 
                nico

Reply

Marsh Posté le 19-05-2003 à 22:57:03   

Reply

Marsh Posté le 19-05-2003 à 23:45:32    

je sais ke ceci marche :
 

Code :
  1. #ifdef __i386
  2. // code pour i386
  3. #endif
  4. #ifdef __alpha
  5. // code pour alpha
  6. #endif


 
mais me souviens plus pour savoir sur quel os on se trouve, je crois ke c'est "#ifdef WINDOWS" ou "#ifdef WIN32" pour windows, et "#ifdef UNIX" pour unix.

Reply

Marsh Posté le 20-05-2003 à 10:09:10    

Sinon, il y a un compilo GNU sous win, donc tu developpen en GNU, et ca RULEZZ [:spamafote]


---------------
get amaroK plugin
Reply

Marsh Posté le 20-05-2003 à 12:13:53    

Code :
  1. #ifdef  _WIN32
  2.   #ifndef __WIN32
  3.   #define __WIN32
  4.   #endif
  5. #endif
  6. #ifdef __WIN32
  7. // Code pour Win
  8. #else
  9. // Code autre
  10. #endif


 
Si j'ai bonne mémoire, _WIN32 est la constante utilisée par les vieux compilos et __WIN32 est la version plus récente ...
 
Edit : indentation


Message édité par theshockwave le 21-05-2003 à 11:46:10

---------------
last.fm
Reply

Marsh Posté le 20-05-2003 à 12:14:32    

bobuse a écrit :

Sinon, il y a un compilo GNU sous win, donc tu developpen en GNU, et ca RULEZZ [:spamafote]  


 
Il ne va pas te convertir la chaine pour que le système exécute la bonne commande pour autant ...


---------------
last.fm
Reply

Marsh Posté le 20-05-2003 à 23:29:52    

theShOcKwAvE a écrit :


 
Il ne va pas te convertir la chaine pour que le système exécute la bonne commande pour autant ...


+1, j'avais pas lu le deuxième point ;)


---------------
get amaroK plugin
Reply

Marsh Posté le 21-05-2003 à 16:52:48    

merci bcp a vous trois Konar,bobuse et theShOcKwAvE :)
 
milles mercis :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed