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

  FORUM HardWare.fr
  Programmation
  C

  Effet de -pedantic

 

Sujet(s) à lire :
    - [BIBLIOLINK C]
 

 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Effet de -pedantic

n°914611
Deadog
Dain Bramaged
Posté le 04-12-2004 à 13:15:39  profilanswer
 

après avoir lu le bibliolink C, j'ai rajouté -pedantic à mes lignes de compilation
ce qui fait que maintenant je compile avec "-pipe -Wall -pedantic -std=c99" principallement
 
en recompillant mes programmes je me rend compte que le -pedantic il va m'être très génant :
jusqu'ici, mes fonctions je les déclarées comme ça par expl
 

Code :
  1. str_GFX_T6963_com1 *GFX_T6963_CreateCom1 (Uint16 port, Uint8 cd_pin, Uint8 rd_pin, Uint8 wr_pin, Uint8 ce_pin); // Dans le header
  2. ...
  3. str_GFX_T6963_com1 *
  4. GFX_T6963_CreateCom1 (port, cd_pin, rd_pin, wr_pin, ce_pin)
  5.   Uint16 port;
  6.   Uint8 cd_pin, rd_pin, wr_pin, ce_pin;
  7. {
  8. ...
  9. }


 
or le pedantic il aime pas parce que ma déclaration et mon prototype sont différent, mais juste dans la syntaxe :/ ça doit être une extension non autorisée :??:
ça me gène, car je veux garder cette notation que je trouve plus clair
 
n'y a t'il pas moyens d'empecher -pedantic de m'embêter avec ça ? :sweat:

mood
Publicité
Posté le 04-12-2004 à 13:15:39  profilanswer
 

n°914636
Lam's
Profil: bas.
Posté le 04-12-2004 à 13:41:08  profilanswer
 

Nan, le -pedantic il DETESTE (tout comme la norme ANSI) les définitions de type K&R. C'est à dire avec le type des paramètres exprimés entre l'en-tête et le corps de la fonction.
 
Mais c'est une très bonne initiative que de compiler en Wall et -pedantic. Je te félicite.

n°914638
Deadog
Dain Bramaged
Posté le 04-12-2004 à 13:44:12  profilanswer
 

oui mais si le pedantic déteste cette notation je crois qu'il va gicler :whistle:

n°914642
Lam's
Profil: bas.
Posté le 04-12-2004 à 13:47:31  profilanswer
 

Euh, même le "-ansi' l'interdit, non ?  
 
Bref, toujours est-il que je te conseille très forcément de t'en débarasser, car certains compilos ne sont pas capables de concilier les facilités du C99 avec la syntaxe K&R.
 
A la limite, tu peux simplifier tes déclarations en utilisant des structures pour aggreger les passages de paramètres (façon Windows API...) ).

n°914646
Deadog
Dain Bramaged
Posté le 04-12-2004 à 13:54:08  profilanswer
 

pour l'ansi, je ne le ferais pas, car depuis le début je fais tout en c99 et ça risque de chier de tout les côtés si je passe en ansi :d
 
cette syntaxe est très pratique pour utiliser les arguments de splint ou doxygen
 
quand à utiliser des structure, étant donné que c'est pour une API ça risque de compliqué fortement son utilisation :/
 
 
je ne sais que faire :/ d'un côté je cherche à avoir du code le plus clean possible, d'un autre côté le -pedantic il m'emmerde un brin :/


Message édité par Deadog le 04-12-2004 à 13:54:29
n°914673
Emmanuel D​elahaye
C is a sharp tool
Posté le 04-12-2004 à 14:18:52  profilanswer
 

Deadog a écrit :

en recompillant mes programmes je me rend compte que le -pedantic il va m'être très génant :
jusqu'ici, mes fonctions je les déclarées comme ça par expl
 

Code :
  1. str_GFX_T6963_com1 *GFX_T6963_CreateCom1 (Uint16 port, Uint8 cd_pin, Uint8 rd_pin, Uint8 wr_pin, Uint8 ce_pin); // Dans le header
  2. ...
  3. str_GFX_T6963_com1 *
  4. GFX_T6963_CreateCom1 (port, cd_pin, rd_pin, wr_pin, ce_pin)
  5.   Uint16 port;
  6.   Uint8 cd_pin, rd_pin, wr_pin, ce_pin;
  7. {
  8. ...
  9. }


 
or le pedantic il aime pas parce que ma déclaration et mon prototype sont différent, mais juste dans la syntaxe :/ ça doit être une extension non autorisée :??:
ça me gène, car je veux garder cette notation que je trouve plus clair


La notation que tu utilises est obsolète depuis 1989. Depuis, on doit utiliser les prototypes qui sont plus solides et plus simples à maintenir:

Code :
  1. str_GFX_T6963_com1 *GFX_T6963_CreateCom1 (Uint16 port
  2.                                          ,Uint8 cd_pin
  3.                                          ,Uint8 rd_pin
  4.                                          ,Uint8 wr_pin
  5.                                          ,Uint8 ce_pin)
  6. {
  7.    ...
  8. }


---------------
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°914677
Deadog
Dain Bramaged
Posté le 04-12-2004 à 14:27:03  profilanswer
 

Emmanuel Delahaye a écrit :

La notation que tu utilises est obsolète depuis 1989. Depuis, on doit utiliser les prototypes qui sont plus solides et plus simples à maintenir:

Code :
  1. str_GFX_T6963_com1 *GFX_T6963_CreateCom1 (Uint16 port
  2.                                          ,Uint8 cd_pin
  3.                                          ,Uint8 rd_pin
  4.                                          ,Uint8 wr_pin
  5.                                          ,Uint8 ce_pin)
  6. {
  7.    ...
  8. }




 
 
le problème de cette notation est qu'elle est dépendante de la police utilisée
cad si c'est une fixe ou non
or je ne suis pas le seul à programmer cette api, et chacun à ses ptites préférences :/


Message édité par Deadog le 04-12-2004 à 14:27:52
n°914695
Profil sup​primé
Posté le 04-12-2004 à 14:43:59  answer
 

Il existe des gens sur cette planète (dans l'Univers ?) qui utilisent autre chose qu'une police à chasse fixe pour programmer ? [:wam]

n°914698
masklinn
í dag viðrar vel til loftárása
Posté le 04-12-2004 à 14:46:38  profilanswer
 

Deadog a écrit :

le problème de cette notation est qu'elle est dépendante de la police utilisée
cad si c'est une fixe ou non
or je ne suis pas le seul à programmer cette api, et chacun à ses ptites préférences :/


ca n'a aucune importance, tu peux aussi bien écrire un truc du style

str_GFX_T6963_com1 *GFX_T6963_CreateCom1 (
    Uint16 port,
    Uint8 cd_pin,
    Uint8 rd_pin,
    Uint8 wr_pin,
    Uint8 ce_pin )
{
   ...
}


 
Après ce sont les règles de programmation correctes qui définissent la mise en page exacte utilisée par l'équipe

alerim a écrit :

Il existe des gens sur cette planète (dans l'Univers ?) qui utilisent autre chose qu'une police à chasse fixe pour programmer ? [:wam]


je présumme qu'il faut de tout pour faire un monde [:gratgrat]  
((C) Arnold&Willy)


Message édité par masklinn le 04-12-2004 à 14:47:27

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°914702
Deadog
Dain Bramaged
Posté le 04-12-2004 à 14:49:45  profilanswer
 

hum, je l'avais pas vu comme ça masklinn :d
je prend ! merci :) merci à tous :)
 
 
(moi j'aime bien programmer avec une police à chasse non fixe :d c'est plus plaisant à l'oeil je trouve :p ...)


Message édité par Deadog le 04-12-2004 à 14:49:58
mood
Publicité
Posté le 04-12-2004 à 14:49:45  profilanswer
 

n°914706
push
/dev/random
Posté le 04-12-2004 à 14:51:56  profilanswer
 

c'est quoi cette histoire de police à chasse fixe ? ça change quoi  :??:

n°914717
Deadog
Dain Bramaged
Posté le 04-12-2004 à 14:57:43  profilanswer
 

push a écrit :

c'est quoi cette histoire de police à chasse fixe ? ça change quoi  :??:


 
 
bah programmer avec une police à chasse fixe ça alligne les caractères
ça permet de mieux visualiser l'indentation par expl ... enfin à ce qu'il parrait, car moi ça ne me gène pas de pas utiliser de police à chasse fixe pour ça

n°914725
masklinn
í dag viðrar vel til loftárása
Posté le 04-12-2004 à 15:09:49  profilanswer
 

push a écrit :

c'est quoi cette histoire de police à chasse fixe ? ça change quoi  :??:


Citation :

Cette phrase n'est pas en chasse fixe


Cette phrase est en chasse fixe


 
Classiquement, tout le monde (ou presque) utilise une chasse fixe pour la programmation, parce que ca simplifie les alignements, ca permet d'avoir un "rendu" correct (plus propre) quand on visualise le code et ca permet de savoir ce que ca donne sur un affichage 80*20 (en console quoi)

Citation :

bah programmer avec une police à chasse fixe ça alligne les caractères


Non, c'est simplement que tous les caractères quels qu'ils soient ont la même taille (beaucoup plus pratique pour voir la longueur des lignes en caractères et autres)
 
(ah oui, et perso j'indente avec des espaces et non des tabulations, et en chasse non fixe c'est tendu [:ddr555] )


Message édité par masklinn le 04-12-2004 à 15:12:15

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°914737
Deadog
Dain Bramaged
Posté le 04-12-2004 à 15:23:57  profilanswer
 

j'indente aussi à l'espace, 2 pour tout dire
ça me gène pas :??:
 
'fin bon, les gout et les couleurs :sleep: je vais bien me forcer à passer un jour en chasse fixe puisque quasi tout le omnde le fait et que je prog pas que pour moi ...

n°914792
Emmanuel D​elahaye
C is a sharp tool
Posté le 04-12-2004 à 16:34:11  profilanswer
 

Deadog a écrit :

le problème de cette notation est qu'elle est dépendante de la police utilisée
cad si c'est une fixe ou non
or je ne suis pas le seul à programmer cette api, et chacun à ses ptites préférences :/


  • La notation de style 'prototype' n'a rien à voir avec la police utilisée.
  • La présentation que j'ai utilisée dépend en effet de la police. Mais pour des raisons évidentes et bien connues (pas de TAB mais des espaces etc.) il est absurde d'utiliser un police proportionnelle pour du code. C'est horrible, de toutes façons.


Sur mes machines (Windows) j'utilise Courrier New et surtout Lucida Console (plus compact).


Message édité par Emmanuel Delahaye le 04-12-2004 à 16:36:57

---------------
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°914814
Deadog
Dain Bramaged
Posté le 04-12-2004 à 17:01:27  profilanswer
 

bon, un nouveau problème avec pedantic :

Citation :


lib/graphique/char_map.h:3705: attention : les cibles des pointeurs dans initialisation n'ont pas toutes de signe


 
ce n'est qu'un extrait
ça s'applique à toutes les lignes pour ce genre de trucs :
 

Code :
  1. const Uint8 * char_map_normal_japan[128][9] = {
  2. {"\6 \10",
  3. // " "
  4. "------",
  5. "------",
  6. "------",
  7. "------",
  8. "------",
  9. "------",
  10. "------",
  11. "------",},
  12. {"\6 \10",
  13. // "!"
  14. "--+---",
  15. "--+---",
  16. "--+---",
  17. "--+---",
  18. "------",
  19. "------",
  20. "--+---",
  21. "------",},
  22. ...


 
 
je comprend pas trop le message d'erreur la :??:

n°914816
Deadog
Dain Bramaged
Posté le 04-12-2004 à 17:02:51  profilanswer
 

erf, résolue en mettant un char au lieu de Uint8
mais ça me gène un peu :/

n°914899
Lam's
Profil: bas.
Posté le 04-12-2004 à 20:36:38  profilanswer
 

Je suis pas sûr là, mais ton compilo doit avoir des chaînes de caractères qui sont des signed char plutôt que des unsigned char comme tu essayes de lui mettre.  
 
Soit tu passes l'option qui va bien "-funsigned-char" à gcc, et ça peut résoudre tes problèmes.
 
Soit tu castes lors de l'affectation, mais c'est pas raisonnable.  
 
Ou mieux, tu utilises des char lorsque tu manipules du texte. C'est pas plus con...

n°914914
Deadog
Dain Bramaged
Posté le 04-12-2004 à 21:13:56  profilanswer
 

bah en faite c'est du texte uniquement pour faciliter l'écriture de la char map
sinon le '-' sont interpréter comme 0 et les '+' comme des 1
 
je vais faire un coup de -funsigned-char quand même ;)
 
 
sinon, à part c'est 2 ptits trucs, j'ai pas eu besoin de retoucher une seul partie de mon code :sol: tout est passé en -pedantic :)


Message édité par Deadog le 04-12-2004 à 21:15:11
n°914918
Deadog
Dain Bramaged
Posté le 04-12-2004 à 21:30:35  profilanswer
 

hum, le -funsigned-char n'a pas d'effet [:spamafote]


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

  Effet de -pedantic

 

Sujets relatifs
L'évènement onclick n'a aucun effet sur la balise option sous IE6Effet 3d : faire une vaguelette sur le bureau windows en DirectX ?
[élucidé] ini_set('display_errors', 0) sans effeteffet de bord junit
Effet foireux car calculs trop importantsajouter du svg au xml... cherche effet titre défilant starwars :)
[CSS] cet effet possible en css ???[PHP] Pourquoi ca marche pas ? [résolu](en effet c'était tout bete)
[Javascript] effet de texte ds la barre de défilement...Comment faire un effet de feu en ASM sur un amiga 500
Plus de sujets relatifs à : Effet de -pedantic


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