|
Auteur | Sujet : [C] Possible de faire un extern sur une union de struct [RESOLU] ? |
---|
Publicité | Posté le 06-10-2004 à 22:21:11 |
yoms |
|
cris56 | et ca ?
|
Taz bisounours-codeur | Yoms > tu vois bien, on se tue à t'expliquer que ton problème de déclaration mal formée n'est pas lié à extern et vice versa, mais tu t'entêtes à tout amalgamer ... |
yoms | cris56 > oui là tu as tout à fait raison. C'est une erreur de ma part dans le topic, mais pas dans mon code. 2 min et je te sors le bon truc... Message édité par yoms le 06-10-2004 à 22:33:30 |
Taz bisounours-codeur | c'est pas très conseille ce genre de chose (est-ce que standard d'ailleurs, je commence à chercher), il faut initialiser dans la même unité de traduction que l'allocation. |
Taz bisounours-codeur | bon allez, je cite
|
Taz bisounours-codeur | mouef, c'est pas propre ton machin, et c'est source d'erreur.
et là t'es blindé |
yoms | Bon ben au-delà de la question de propreté qui à nous nous parait très bien comme ça (faut savori aussi qu'on pas qu'une variable, mais une chiée de variables que l'on classe dans des fichiers *.h à thèmes style le *.h de l'interface, le *. des drivers, le *.h de l'IHM, etc.) Bref, pour la propreté, là n'est pas la question.
|
Publicité | Posté le 06-10-2004 à 22:42:45 |
Joel F Real men use unique_ptr | ..... |
yoms | Au cas où, j'ai bien une erreur au link et pas à la compil' |
Taz bisounours-codeur | c'est pas une question de propreté : pourquoi s'ennuyer à faire des #define (et risquer une erreur) quand tout peut fonctionner sans aucune intervention de ta part ?
|
Lam's Profil: bas. |
|
yoms | Taz > on ne fait pas toujours comme l'on veut. Il y a une méthodolgie imposée dans le labo, une façon de nommer les variables, etc. C'est comme ça, voilà tout. Maintenant, j'ai pris le pli et ça me parait clair, mais au début c'était aussi zarb'. Bref...
|
yoms | Lam's je comprends ce que tu veux dire, mais j'avais écarté cette solution car l'initialisation de l'extern avait déjà été faite dans le *.c où figure le
|
Taz bisounours-codeur | Yoms > ouais, donc tu peux conclure toi même que ta méthode est pas sécurisée. |
Lam's Profil: bas. |
|
yoms | Taz > bah ça me laisse perplexe car je me dis quema méthode revient à la tienne en ce sens que lorsque je fais l'include du *.h il va bêtement me coller le contenu de ce fichier et remplacé le mot "Drivers" par extern ou que dalle selon que j'ai écrit _USE_DATA_ ou _DELCARE_DATA_. Donc si on pouvait prendre un cliché de mon *.c après cet include, il ressemblerait comme 2 gouttes d'eau à ce que tu as écris ci-dessus...
|
cris56 | sort le listing du preprocesseur |
yoms | Lam's> je ne la déclare que dans le *.c qui fait l'include du *.h et qui contient la ligne de code #define _DECLARE_DATA_ avant d'écrire le #include file.h C'est aussi dans ce fichier qu'elle est initialisée. Dans ce fichier la variable est donc pleinement définie. Dans les autres fichiers, je ne la redéclare pas, j'en demande une visibilté seulment car je fais un include du même *file.h mais précédé de #define _USE_DATA_ |
yoms | cris56 > euh là je ne suyis pas au taf' donc... |
Taz bisounours-codeur | oui, ta méthode revient à celle (canonique) que j'ai exposée. Mais la tienne te permet de t'emmêler les pinceaux. L'erreur que tu rapportes en est typiquement la preuve. On te dit pas que y a une méthode simple qui existe et qui est employée par tout le monde depuis 20ans rien que pour t'embêter. Nous la joue pas j'ai une méthode 'révolutionnaire'. Tout le monde fais un .c et un .h : sauf ceux qui n'écoute pas leur pairs. Message édité par Taz le 06-10-2004 à 23:12:27 |
yoms | Je n'ai jamais dit qu'elle était révolutionnaire. Toi alors ! Mais j'ai aussi des *.c et des *.h. Je pige pas ta remarque là...
Message édité par yoms le 06-10-2004 à 23:38:57 |
Lam's Profil: bas. |
|
yoms | Euh oui oui... autant pour moi, en réécrivant proprement ce que j'ai pondu, ça apparait. Prochaine fois, j'emmènerai les fichiers chez moi, ça m'évitera de me planter et de pas avoir à rééditer 3 fois mon post pour modifier les erreurs dedans.
Message édité par yoms le 06-10-2004 à 23:29:48 |
yoms | Ayé, je crois j'ai finis de mettre à jour le post avec tous les extraits de code. Ca donnera une bonne vue d'ensemble. En espérant que je ne me sois pas encore planté qq part. |
Lam's Profil: bas. |
|
schnapsmann Zaford Beeblefect | Sur le "autant pour moi", il y a polémique, il ne sert donc à rien d'affirmer quoi que ce soit de manière pédante.
Message édité par schnapsmann le 06-10-2004 à 23:48:14 --------------- From now on, you will speak only when spoken to, and the first and last words out of your filthy sewers will be "Sir!" |
gilou ModérateurModzilla |
Bon c'est là ton probleme a la base:
Message édité par gilou le 06-10-2004 à 23:56:15 --------------- There's more than what can be linked! -- Iyashikei Anime Forever! -- AngularJS c'est un framework d'engulé! -- |
schnapsmann Zaford Beeblefect |
Message édité par schnapsmann le 06-10-2004 à 23:59:18 --------------- From now on, you will speak only when spoken to, and the first and last words out of your filthy sewers will be "Sir!" |
cris56 | A struct declaration defines a type. The right brace that terminates the list of members may
|
Taz bisounours-codeur | du reste j'ajoute que tu es le premier sur Terre à utiliser
|
gilou ModérateurModzilla | > hop puisqu'on est en à explorer toutes les possibilités foireuses du C, allons y gaiement:
Message édité par gilou le 07-10-2004 à 00:08:02 --------------- There's more than what can be linked! -- Iyashikei Anime Forever! -- AngularJS c'est un framework d'engulé! -- |
yoms | Oui merci Gilou et schnapsmann, effectivement je n'ai pas LabWin à la maison, mais j'aurais effectivement bien testé cette modif qu'avait suggéré Taz au départ (même si on a un peu de mal à se comprendre). |
gilou ModérateurModzilla | [hors sujet]
--------------- There's more than what can be linked! -- Iyashikei Anime Forever! -- AngularJS c'est un framework d'engulé! -- |
schnapsmann Zaford Beeblefect |
--------------- From now on, you will speak only when spoken to, and the first and last words out of your filthy sewers will be "Sir!" |
gilou ModérateurModzilla |
--------------- There's more than what can be linked! -- Iyashikei Anime Forever! -- AngularJS c'est un framework d'engulé! -- |
schnapsmann Zaford Beeblefect |
Message édité par schnapsmann le 07-10-2004 à 00:16:13 --------------- From now on, you will speak only when spoken to, and the first and last words out of your filthy sewers will be "Sir!" |
Lam's Profil: bas. |
|
Taz bisounours-codeur | toute façon, t'es bien eu si t'es entiers sont pas 32bits
réfléchis et tu vas voir qu'il ne peut en être autrement. C'est toi même qui nous as expliqué que les union permettent des 'vues' ... comment tu veux accéder à .a directement ? il faut spécifier que tu te place dans le contexte .prout ... |
Publicité | Posté le |
Sujets relatifs | |
---|---|
[HTML/PHP][Résolu] Problème de sauvegarde pour les formulaires | [JAVASCRIPT] Possible de récuperer la date de création d'une image ? |
[Assez urgent] Lien au sein d'un tableau, c'est possible ? | [RESOLU]probleme avec ma session |
Supprimer tout ce qui n'est pas lettre et chiffre (resolu) | [RESOLU] problème de condition sur un requête SQL |
Probleme d'une simple expression reguliere [RESOLU] | [Résolu][Eclipse 3] générer un "model" |
[resolu]Forcer telechargement header() prob dans include() help | probleme avec md5 et ma session [RESOLU] |
Plus de sujets relatifs à : [C] Possible de faire un extern sur une union de struct [RESOLU] ? |