1

une question toute bete: comment faire en sorte que la portée d'un type soit valable dans tous les .c d'un projet (sur ti j'utilisais systématiquement un seul .c wink), de facon propre, et sans le declarer en "extern"?
je pensais mettre la definition du type ainsi que tous les prototypes des fonctions dans un .h, que j'inclus dans tous les .c, mais ça me semble sale.

2

Nerick
: je pensais mettre la definition du type ainsi que tous les prototypes des fonctions dans un .h, que j'inclus dans tous les .c, mais ça me semble sale.
C'est ce que j'aurais fait, et ça ne me semble pas sale si tes headers sont propres smile
En tout cas, dans les sources de DOOM (seules grosses sources de prog PC que j'ai vues), ça se passe comme ça.
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. »

3

En tout cas, dans les sources de DOOM (seules grosses sources de prog PC que j'ai vues), ça se passe comme ça.
ça apraît assez logique, vu que c'est à ça que servent les headers....
Sans aller si loin, il suffit de regarder les headers de tigcclib wink
avatar
Le scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes

4

Pareil que Sasume, je met toujours les types dans des .h, au même titre que les prototypes de fonctions.
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

5

D'ailleurs les headers sont un peu fait pour ça nan ? happy
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.

6

C'est pas sale: c'est le standard C!

7

ouais ok
mais je pensais juste que les inclure dans chaque .c etait un peu crade.

8

Pas du tout. Ce sont exclusivement des déclarations, donc tous les fichiers source doivent les connaître, et elles ne génèrent pas une seule ligne de code.
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é

9

ca veut dire que si on compile avec une librairie (par ex cc *.c -L. -lmy -I.), on doit inclure aussi le header pour cette librairie dans tous les .c du projet, pas seulement dans le .c qui contient le main?

10

Oui. Ou alors tu l'inclus dans un de tes headers, qui lui sera inclus dans tous tes fichiers .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é