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

  FORUM HardWare.fr
  Programmation
  C++

  [ C ] Règles à suivre pour faire un code propre et portable ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[ C ] Règles à suivre pour faire un code propre et portable ?

n°412071
udok
La racaille des barbus ©clémen
Posté le 01-06-2003 à 00:25:08  profilanswer
 

j'ai pas encore beaucoup programmé en C, et histoire de prendre les bonnes habitudes assez vite, j'aurais besoin de conseil sur la bonne façon de programmer
évidemment, il y a beaucoup de chose à dire, mais ce serait bien de commencer par les principales
 
d'abord au niveau des conformités : lesquelles doit-on suivre ? y-a les POSIX et les ANSI, mais on les voit pas toujours partout, alors je me pose des questions
par exemple, la fonction gettimeofday n'est ni conforme ANSI, ni POSIX
apparemment elle ne doit pas être disponible sur windows par exemple, si ? (j'ai pas win sous la main pour vérifier)
 -> bref, quelles normes doit on suivre si on veut un code portable
 
 
sinon qu'est ce que vous me conseileriez comme bouquin pour apprendre les bonnes habitudes en C
une espèce de bible qui repertorierait les fonctions des principales bibliothèques dispo
j'ai entendu parlé de l'édition o'reilly mais j'ai jamais acheter de leur livre, donc si vous connaissez, donnez votre avis


---------------
Non au projet de loi DADVSI ! (droits d'auteurs)
mood
Publicité
Posté le 01-06-2003 à 00:25:08  profilanswer
 

n°412087
impulse
Posté le 01-06-2003 à 00:51:31  profilanswer
 

Citation :

j'ai entendu parlé de l'édition o'reilly mais j'ai jamais acheter de leur livre, donc si vous connaissez, donnez votre avis

 
 
Je connais pas les bouquins de C de O'Reilly mais en tt cas tous les bouquins O'Reilly que j'ai lu m'ont plu (sur linux, php, mysql, apache etc...). Ils sont tres clairs et bien foutus.

n°412096
Tamahome
⭐⭐⭐⭐⭐
Posté le 01-06-2003 à 01:13:59  profilanswer
 

ANSI est la norme officielle. POSIX est une norme secondaire pas portable (a part sur les os posix style unix).

n°412099
udok
La racaille des barbus ©clémen
Posté le 01-06-2003 à 01:51:07  profilanswer
 

Tamahome a écrit :

ANSI est la norme officielle. POSIX est une norme secondaire pas portable (a part sur les os posix style unix).


 
ah ok
donc dès que c'est du ansi, on peut être sur de pouvoir le compiler partout ?
 
sinon pour gettimeofday, j'ai vu qu'on pouvait passer à gcc l'option -ansi : ça veut dire quoi au juste ? parce qu'à la base, c'est pas conforme ansi
 
enfin la norme "ISO 9899", que je revois bcp, notamment dans les fonctions de math.h (cos, tan, sin, exp, abs ...), ça vaut quoi ? parce que ces fonctions exitent surement sur toutes les plateformes, j'imagine :)


---------------
Non au projet de loi DADVSI ! (droits d'auteurs)
n°412100
udok
La racaille des barbus ©clémen
Posté le 01-06-2003 à 01:56:57  profilanswer
 

impulse a écrit :

Citation :

j'ai entendu parlé de l'édition o'reilly mais j'ai jamais acheter de leur livre, donc si vous connaissez, donnez votre avis

 
 
Je connais pas les bouquins de C de O'Reilly mais en tt cas tous les bouquins O'Reilly que j'ai lu m'ont plu (sur linux, php, mysql, apache etc...). Ils sont tres clairs et bien foutus.


 
ok, ça me tente bien, mais sinon on m'a conseillé ça sur osa :
"le language C norme ANSI de Brian Kernighan et Denis Ritchie chez dunod (couverture jaune)"
 
enfin je verrais bien, je me renseignerais :)


---------------
Non au projet de loi DADVSI ! (droits d'auteurs)
n°412116
Taz
bisounours-codeur
Posté le 01-06-2003 à 08:47:48  profilanswer
 

C99 est une bien meilleur norme, le code est d'une qualité indéniablement supérieur à du code ANSI du fait des extensions de l a bibliotheque standard (plus sures) et surtout de la possibilit" de déclarer les variables à n'importe quel endroit du bloc

n°412181
udok
La racaille des barbus ©clémen
Posté le 01-06-2003 à 13:41:45  profilanswer
 

++Taz a écrit :

C99 est une bien meilleur norme, le code est d'une qualité indéniablement supérieur à du code ANSI du fait des extensions de l a bibliotheque standard (plus sures) et surtout de la possibilit" de déclarer les variables à n'importe quel endroit du bloc


 
tout ce qu'il y a dans stdlib.h est C99 conforme ? et c'est portable partout ?
 
bon sinon pour les variables, c'est déjà bien qu'on puisse en déclaré au début de n'importe quel bloc, et ça fait plus propre et mois bordelique de le faire au début, je trouve :D


---------------
Non au projet de loi DADVSI ! (droits d'auteurs)
n°412204
Taz
bisounours-codeur
Posté le 01-06-2003 à 15:34:29  profilanswer
 

ben tous les systèmes on rajoutés leurs merdes. niveau bibliotheque, le C99, c'est grosso-modo la bibli ANSI + les fonctions n (snprintf, strncpy, etc.)
c'est parfaitement standard, gcc le supporte parfaitement et est largement disponible. maintenant y a des irréductibles qui restent avec leur version 2.95

n°412238
Tamahome
⭐⭐⭐⭐⭐
Posté le 01-06-2003 à 17:13:48  profilanswer
 

C99 c bien sur le papier. Dans la vraie vie, tlm n'est pas passé à cette norme niveau mise à jour des compilo....

n°412239
Taz
bisounours-codeur
Posté le 01-06-2003 à 17:26:52  profilanswer
 

c'est ce que je dis... pourtant fo vraiment etre con, les gens veulent toujours optimiser leurs programmes, alors que la première chose à faire c'est de mettre à jour son compilateur pour unversion plus performante

mood
Publicité
Posté le 01-06-2003 à 17:26:52  profilanswer
 

n°412276
ToxicAveng​er
Posté le 01-06-2003 à 19:15:31  profilanswer
 

d'un autre coté le type qui programme un four a micro onde, je doute que les outils soit updaté souvent...

n°412289
Taz
bisounours-codeur
Posté le 01-06-2003 à 19:44:09  profilanswer
 

là je suis d'accord, mais faut pas etre idiot: chaque environnment à ses contraintes innées. Pas la peine de s'en fabriquer

n°425355
udok
La racaille des barbus ©clémen
Posté le 12-06-2003 à 18:12:26  profilanswer
 

et pour un réseau, y-a moy' de faire un truc portable et propre ? parce que je viens de voir que gethostbyname, listen, bind et autre sont conforme que bsd ou srv4, donc c'est un peu léger pour la portabilité vers zindows  :D


---------------
Non au projet de loi DADVSI ! (droits d'auteurs)
n°425425
xWillow
Posté le 12-06-2003 à 19:41:48  profilanswer
 

tu peux mettre des ifdef pour voir si c'est windows et la tu mets l'autre code, y a pas enormement de difference.
Sous windows il faut pas les memes headers et puis il faut init winsock, sinon les fonctions restent les memes.

n°425430
udok
La racaille des barbus ©clémen
Posté le 12-06-2003 à 19:46:23  profilanswer
 

xWillow a écrit :

tu peux mettre des ifdef pour voir si c'est windows et la tu mets l'autre code, y a pas enormement de difference.
Sous windows il faut pas les memes headers et puis il faut init winsock, sinon les fonctions restent les memes.


 
ok, c'est bon à savoir :jap:


---------------
Non au projet de loi DADVSI ! (droits d'auteurs)

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

  [ C ] Règles à suivre pour faire un code propre et portable ?

 

Sujets relatifs
traduction d'un bout de codeune erreur bete perdu dans 5 lignes de code
j'ai un pb avec un bout de code[C] code de format
Modifier l'imprimante par défaut ! : RESOLU: voila le code !Le code peut influencer des images??
Comment faire une fortune sur un site ? | résolu (code complet)VBA code de mise en forme?
Question sur le code binaireCode RGB d'un pixel "transparent"
Plus de sujets relatifs à : [ C ] Règles à suivre pour faire un code propre et portable ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR