Incompatibilite language C windows et C Linux

Fermé
Anthony - 18 oct. 2004 à 13:47
 Pierre Knobel - 8 déc. 2004 à 14:01
Salut tout le monde!
Etant novice en C, j'ai essaye de compiler un code C que j'ai fait sur windows ds lequel j'ai utilisé conio.h ---> getch(); textcolor; etc....

en essayant de compiler le meme code en utilisant GCC de Linux, il me parait qu'il reconnait pas la classe Conio du tout !!

Est ce bien la classe conio qu'il reconnait pas ou est ce GETCH() et TEXTCOLOR ??

Merci bien
A voir également:

4 réponses

ben c'est normal la norme C/ANSI n'est pas respecter sous les compilos C sous windows.

voilà pourquoi il faut imperativement et ce sur n'importe quelle plateforme tout ecrire en respectant la norme alors et alors seulement le programme est compilable partout.

En plus pour les paramettres de compilation il faut faire un MAKEFILE qui detectera le systeme et choisira donc les bonnes libs et fichiers d'include en fonction de la plateforme.

PS: conio.h n'existe pas sous unix puisqu'il ya dedans disons 60% de fonctions non ANSI/ISO. donc à proscrire à jamais.
0
Merci pour votre reponse rapide.

Comment je peux faire si je veux utiliser une fonction qui m'interesse bien comme GETCHAR(); est ce qu'il y a une eqivalence ds une autre librairie ISO sous linux ?
0
Salut!

<conio.h> n'est pas standard ça vient du compilo Borland.

getchar existe en standard mais en utilisant <stdio.h>

#include <stdio.h>
int getchar(void);
0
Pierre Knobel
8 déc. 2004 à 14:01
getchar() a le gros défaut d'attendre que l'utilisateur appui sur Entrée.
Il y'a une bonne bibliothèque contenant getch( ) sur http://lesouriciergris.free.fr/linux_cours_c.html

Télécharge asciiart.o et le manuel "Minima d'Unix en cours de c" pour voir les instructions page 45 ou 46.
0