Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
4067 connectés 

  FORUM HardWare.fr
  Programmation
  C

  C-ansi et portable

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

C-ansi et portable

n°1416254
Gattuso
Posté le 31-07-2006 à 08:33:48  profilanswer
 

Bonjour,
 
est-ce que vous pourriez m'indiquer comment savoir si un code est portable et écrit en C-ansi.
Y a-t-il des astuces pour cela ?  
 
Merci

mood
Publicité
Posté le 31-07-2006 à 08:33:48  profilanswer
 

n°1416301
Emmanuel D​elahaye
C is a sharp tool
Posté le 31-07-2006 à 10:05:01  profilanswer
 

Gattuso a écrit :

est-ce que vous pourriez m'indiquer comment savoir si un code est portable et écrit en C-ansi.
Y a-t-il des astuces pour cela ?  


Pour ANSI-C, tu peux activer le mode ANSI 'pur' sur la plupart des compilateurs (lire la doc). Pour gcc (C90), c'est
 
-ansi -pedantic
 
Les écarts seront signalés.
 
Pour 'portable', c'est plus compliqué. Ca dépend vraiment du code et du dégré de portabilité voulu.
 
Mais je sens bien que tu tournes autour du pot. Quelle est ta vraie question ?

Message cité 1 fois
Message édité par Emmanuel Delahaye le 31-07-2006 à 10:14:58

---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
n°1416308
Elmoricq
Modérateur
Posté le 31-07-2006 à 10:09:15  profilanswer
 

Sinon, tu peux également t'aider de cette page, qui répertorie les fonctions standards et les normes correspondantes :
http://www.schweikhardt.net/identifiers.html

n°1417734
Gattuso
Posté le 01-08-2006 à 21:14:41  profilanswer
 

Emmanuel Delahaye a écrit :

Pour ANSI-C, tu peux activer le mode ANSI 'pur' sur la plupart des compilateurs (lire la doc). Pour gcc (C90), c'est
 
-ansi -pedantic
 
Les écarts seront signalés.
 
Pour 'portable', c'est plus compliqué. Ca dépend vraiment du code et du dégré de portabilité voulu.
 
Mais je sens bien que tu tournes autour du pot. Quelle est ta vraie question ?


Je pose cette question car sur un livre, j'ai un code écrit en C, et il est demandé si le code est portable et écrit en C-ansi.
Question à laquelle, je ne sais pas répondre.
Un des codes est le suivant :

Citation :

[quote]Sur une machine avec codage EBCDIC natif pour les chaines de caractères, la fonction suivante est correcte ? Est-elle écrite en C- ANSI ? ESt-elle portable ?

Code :
  1. int islower(int c) { return (c & 0x80) && (~c & 0x40); }



Il y en a d'autres avec plusieurs fonctions mais avec celui-ci, comment savoir s'il est portable et C-ansi en le lisant (sans le tester)?

n°1417739
skelter
Posté le 01-08-2006 à 21:21:01  profilanswer
 

la fonction est correcte, elle conforme c ansi mais son comportement supposé (de son nom) n'est pas portable
 
edit: en fait elle n'est peut etre pas correcte, il faut verifier avec l'ebcdic


Message édité par skelter le 01-08-2006 à 21:22:31
n°1417771
pains-aux-​raisins
Fatal error
Posté le 01-08-2006 à 22:52:52  profilanswer
 

Un truc vraiment portable (mais moyennement performant) serait de ne pas utiliser la représentation numérique des caractères minuscules mais de faire un test énumératif exhaustif.
En code ASCII par exemple, les lettres minuscules sont numérotés de manières contigues, contrairement à l'EBCDIC.

n°1417795
pains-aux-​raisins
Fatal error
Posté le 01-08-2006 à 23:27:33  profilanswer
 

Emdel > la fonction pour l'EBCDIC mal l'air correcte...

n°1417807
pains-aux-​raisins
Fatal error
Posté le 01-08-2006 à 23:43:21  profilanswer
 

oui ? je ne te suis toujours pas. 0x80 c'est bien sur 8 bits également.

n°1417808
Emmanuel D​elahaye
C is a sharp tool
Posté le 01-08-2006 à 23:47:07  profilanswer
 

pains-aux-raisins a écrit :

Emdel > la fonction pour l'EBCDIC mal l'air correcte...


Oui, c'est possible, j'avais lu c & ~0x80...
 
J'ai tout effacé.


Message édité par Emmanuel Delahaye le 01-08-2006 à 23:47:30

---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  C-ansi et portable

 

Sujets relatifs
InCoMpReHeNsIbLe (pointeur non portable !?!*#...)Verifier numero de portable avec les RegExp
[Batch] Automatiser save file en codage ANSIformat "note" pour portable
Convertion ANSI vers UTF8[C++] librairie reseau portable libpcap ?
saut de ligne portablelib graphique portable
[Code inside] Conversion entre UTF-8 et ANSI (utf8 ansi vb)touche verrnum sur PC portable
Plus de sujets relatifs à : C-ansi et portable


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)