1

Bonjour, quand je compile avec TIGCC (0.96 b8) j'obtiens cette erreur : "Redefinition of 'Symbol'."
Dans mon code, je fais un "#include <header.h>" qui inclut un fichier que j'ai copié dans "TIGCC/include/C".
Le symbole en question est défini (une seule fois) comme ceci : "static inline void Symbol(void) { ... }"

Où est mon erreur ?
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

2

Ton header est constitué tel que :

#ifdef _HEADER_H_
#define _HEADER_H_

/* Contenu du .h */


#endif


?

Si non si il est inclus X fois et/ou par d'autres header tu risque en effet d'avoir cette surprise.

Ensuite une fonction "static" ne devrais pas se trouver dans un .h
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

3

Mince effectivement, le problème était juste que mon header n'était pas protégé contre l'inclusion multiple. #lahonte#

Heu merci Godzil.

Pour le "static", je t'invite en revanche à consulter la doc de TIGCC smile
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

4

Ouai, mais par définition, static signifie que le symbole ne peut pas être vu par les autres fichiers sources du projet. C'est vrai que du coup ça paraît bizarre de mettre un identifiant static dans un header (qui est potentiellement inclu dans plusieurs fichiers).
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

5

Tu peux aussi utiliser #pragma once contre l'inclusion multiple.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

6

Ouai mais dans son cas après static il y a inline donc la seule position possible est un fichier h (si naturellement cette fonction est utilisée un peu partout) ?
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

7

Effectivement, static inline est un peu spécial.
D'ailleurs, tu devrais mettre __attribute__((always_inline)) si tu veux être sûr que la fonction sera vraiment inline.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

8

Ah tiens c'est nouveau ça ? (je me souviens qu'avec tigcc je crois 0.94 j'avais dû jouer en ligne de commande sur inline_limit ou quelque chose comme ça pour l'empêcher de créer la fonction à part)
avatar
« Le bonheur, c'est une carte de bibliothèque ! » — The gostak distims the doshes.
Membrane fondatrice de la confrérie des artistes flous.
L'univers est-il un dodécaèdre de Poincaré ?
(``·\ powaaaaaaaaa ! #love#

9

Cet attribut existe depuis longtemps.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

10

ok, je ne devais pas le connaître (je croyais pourtant avoir épluché la documentation sad)
avatar
« Le bonheur, c'est une carte de bibliothèque ! » — The gostak distims the doshes.
Membrane fondatrice de la confrérie des artistes flous.
L'univers est-il un dodécaèdre de Poincaré ?
(``·\ powaaaaaaaaa ! #love#

11

./2 +n wink
avatar

12

En effet ^^
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

13

Et voilà pourquoi je conseille plutôt #pragma once. wink
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

14

C'est portable ?
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.

15

GCC le gère et un certain compilateur "visuel" (comme si le C pouvait être visuel grin) aussi. Mais ce n'est pas du C standard. Je n'ai aucune idée si GTC le gère.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

16

Bref, c'est une mauvaise habitude à prendre : poubelle tongue
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.

17

Bah, les 2 compilateurs C/C++ les plus utilisés dans le monde réel le gèrent (et merci de ne pas lancer une flamewar sur lequel des deux est le plus utilisé, ça n'a aucune importance ici smile), donc je ne vois pas trop où est le problème.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

18

Ouai mais les pragma ça fait bricolage, rajout de pièces manquantes. Je trouve le ifdef/define/endif plus clair, plus élégant, et en plus c'est totalement portable.
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

19

Ton monde réel peut-être, mais en ce qui me concerne, en deux ans de travail effectif et cinq mois de stage, je n'ai utilisé ni l'un, ni l'autre pour faire du C/C++... N'oublie pas trop vite l'industrie et l'embarqué, Kevin tongue
Dans tous les cas, tu ne vas pas conseiller à quelqu'un quelque chose qui n'est pas standard et portable au profit d'autre chose, si ? hum

cross : pencil ./18
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.

20

GCC est portable sur des centaines de machines y compris embarquées, donc je ne comprends pas trop pourquoi ils utiliseraient autre chose dans l'embarqué en fait, mais si tu le dis, tu as sans doûte raison (il suffit de voir ce qu'utilise TI comme compilateur(s) sick), même si je ne comprends pas trop les raisons d'un tel choix (GCC étant gratuit, compatible entre plateformes (avec ce genre d'extensions de langage justement, et aussi avec les fonctionnalités du standard ISO C99) et optimisant plutôt bien).
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

21

J'avais mis des pragma once dans le code d'ETP-Basic compiler (version c++ bien sur) et justement je me souviens être repassé au système #ifndef quand j'ai essayé de compiler avec g++ et qu'il m'avait jeté (je compilais au prélable avec MSVC et les pragma once marchaient). Ca a toujours été supporté les #pragma once?
Tout ce qui passe pas par le port 80, c'est de la triche.

22

./20 > C'est bien beau tout ça, mais est-il certifié pour l'aéronautique, pour le militaire, ou pour quoi que ce soit ? Offre-t-il des garanties en terme d'exactitude du code généré ? Ses développeurs fournissent-ils un support client ? Être gratuit n'est pas forcément une force...
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.

23

onur (./21) :
J'avais mis des pragma once dans le code d'ETP-Basic compiler (version c++ bien sur) et justement je me souviens être repassé au système #ifndef quand j'ai essayé de compiler avec g++ et qu'il m'avait jeté (je compilais au prélable avec MSVC et les pragma once marchaient). Ca a toujours été supporté les #pragma once?

Ça a toujours été supporté, ça a été "deprecated" à un moment, mais ce n'est plus "deprecated" dans le GCC actuel (parce qu'ils ont réussi à trouver une définition des détails d'implémentation (que faire si on inclut 2 symlinks sur le même fichier, par exemple) qui les a satisfaits) et ça n'a jamais été une erreur.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

24

Ximoon (./22) :
./20 > C'est bien beau tout ça, mais est-il certifié pour l'aéronautique, pour le militaire, ou pour quoi que ce soit ? Offre-t-il des garanties en terme d'exactitude du code généré ? Ses développeurs fournissent-ils un support client ? Être gratuit n'est pas forcément une force...

Je sais que la version professionnelle de GNAT (le frontend ADA de GCC) a des certifications comme ça (en revanche, la version que tu trouves dans le SVN de la FSF n'a aucune garantie), je ne sais pas si certaines de ces certifications comprennent aussi le frontend C.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

25

Une version pro, ça ne me surprend pas (surtout pour de l'ADA, le contraire aurait été stupide).

Ah et aussi le fait d'être perpétuellement mis à jour ne sert à rien : mieux vaut un compilateur figé une fois pour toute qu'un truc évoluant perpétuellement : on veut pouvoir regénérer exactement (CRC/checksums à l'appui) les mêmes binaires à partir par exemple de sources d'un exécutable livré des années auparavant, et c'est plus simple de référencer une seule version d'un compilateur que plusieurs dizaines, une pour chaque livraison.
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.

26

Kevin Kofler (./20) :
Même si je ne comprends pas trop les raisons d'un tel choix (GCC étant gratuit, compatible entre plateformes (avec ce genre d'extensions de langage justement, et aussi avec les fonctionnalités du standard ISO C99) et optimisant plutôt bien).

Problème de qualification d'un outil.
Ca coute beaucoup de sous pour le faire, donc on ne le fait pas souvent.
Ximoon (./22) :
C'est bien beau tout ça, mais est-il certifié pour l'aéronautique, pour le militaire, ou pour quoi que ce soit ?

Ca ne m'étonnerait pas qu'une boite quelconque l'ai fait.
Ximoon (./22) :
Offre-t-il des garanties en terme d'exactitude du code généré ?

C'est pas parce que c'est qualifié que c'est sans bug grin
Ximoon (./22) :
Ses développeurs fournissent-ils un support client ?

Ah ! Le support client ! J'aimerais bien avoir un support client pour résoudre tous les cas tordus qui arrive dans la vie réelle et qui ne sont pas expliqués dans les doc à 2 balles ! zzz
Mais la seule qui est qualifiée n'est plus supportée par le constructeur...

27

PpHd (./26) :
Ximoon (./22) :
C'est bien beau tout ça, mais est-il certifié pour l'aéronautique, pour le militaire, ou pour quoi que ce soit ?

Ca ne m'étonnerait pas qu'une boite quelconque l'ai fait.

Et elle le referait à chaque version ? cheeky Ceci dit, on reste dans le conditionnel tongue
PpHd (./26) :
Ximoon (./22) :
Offre-t-il des garanties en terme d'exactitude du code généré ?

C'est pas parce que c'est qualifié que c'est sans bug biggrin.gif

Bien sûr que non, mais ça a déjà plus de chance de faire ce qu'on veut... En l'occurrence ça sera toujours mieux que rien du tout.
PpHd (./26) :
Ximoon (./22) :
Ses développeurs fournissent-ils un support client ?

Ah ! Le support client ! J'aimerais bien avoir un support client pour résoudre tous les cas tordus qui arrive dans la vie réelle et qui ne sont pas expliqués dans les doc à 2 balles ! zzz
Mais la seule qui est qualifiée n'est plus supportée par le constructeur...


HS encore : je ne faisais qu'énumérer les avantages possibles d'un produit commercial sur un produit libre (pas la peine de me dire que les deux ne sont pas incompatible).
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.

28

Ximoon (./27) :
Et elle le referait à chaque version ? mod.gif Ceci dit, on reste dans le conditionnel tongue.gif

1/ Pareil pour les versions commerciales ?
2/ Ouep (même si je crois qu'une des branches de Thalès l'a fait).
Ximoon (./27) :
Bien sûr que non, mais ça a déjà plus de chance de faire ce qu'on veut... En l'occurrence ça sera toujours mieux que rien du tout.

Ca ne remplacera jamais une phase de maquettage et des tests d'intégrations embarrassed
Ximoon (./27) :
HS encore : je ne faisais qu'énumérer les avantages possibles d'un produit commercial sur un produit libre (pas la peine de me dire que les deux ne sont pas incompatible).

Seule la qualification offre un réel avantage. Après tout le reste en découle. Surtout les prix des licenses sick

29

PpHd (./28) :
Ximoon (./27) :
Et elle le referait à chaque version ? mod.gif Ceci dit, on reste dans le conditionnel tongue.gif

1/ Pareil pour les versions commerciales ?

Ouep. Au moins par deltas.
PpHd (./28) :
2/ Ouep (même si je crois qu'une des branches de Thalès l'a fait).

Ils devaient vraiment être au bout du rouleau pour en arriver là grin
PpHd (./28) :
Ximoon (./27) :
Bien sûr que non, mais ça a déjà plus de chance de faire ce qu'on veut... En l'occurrence ça sera toujours mieux que rien du tout.

Ca ne remplacera jamais une phase de maquettage et des tests d'intégrations redface.gif

C'est implicite pour être qualifié, non ? Ça dépend de quelle qualification on parle bien sûr, mais le contraire, pour quelque norme que ce soit, me surprendrait énormément.
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.