1

2

en C, une fonction non définie est censée retourner un int.
c'est la norme qui veut ça.
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

3

4

Martial Demolins :
ah, ok pour ce point.


Par curiosité, qu'est-ce qui t'empêchait de faire ce qui suit ?

void dchar(short, char, short); 

void _main(void) 
{ 
	... 
	dchar(--i, ' ', A_REPLACE); 
	... 
	dchar(i, '*', A_NORMAL); 
	... 
} 
 
void dchar(short abcisse,char x,short attribute) 
{ 
	DrawChar(20+18*abcisse, 60, x, attribute); 
}

5

6

C'est d'ailleurs la seule variante correcte. Les déclarations implicites ne font pas toujours ce que tu veux, comme tu viens de le voir. Il faut toujours déclarer les fonctions avant leur première utilisation. Et ce n'est pas le problème du linker, mais du compilateur. GCC >=3.4 (unit-at-a-time) pourrait théoriquement avaler ton code, mais (si j'ai bien compris) il ne le fera pas parce que le standard C veut que les fonctions soient déclarées avant utilisation et que sinon ce sont des déclarations implicites. Quant à GCC 3.3.x (utilisé dans TIGCC 0.95) ou antérieure, il est techniquement incapable de comprendre ton code, parce qu'il a déjà compilé ta fonction _main quand il voit la déclaration de dchar.
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é

7

8

Martial Demolins
: Pour la petite histoire, les deux manières compilent et s'éxécutent normalement dans mon exemple.

Dans ce cas oui, mais dès que tu as une fonction qui retourne un pointeur, par exemple, c'est fichu.
Sinon, peut-il y avoir un avantage quelqonque à utiliser des fonctions implicites?

Non. C'est géré seulement pour la compatibilité avec le C K&R.
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é