Uma dúvida curiosa de principiante

Qual é a diferença de declarar um determinado tipo de protótipo "antes" do MAIN e depois do MAIN, é só estética? 

Fórum sobre desenvolvimento de sistemas embarcados: Hardware e Software, Tecnologias: Eletrônica digital e analógica, Microcontroladoras, Microprocessadores, Sistemas *NIX (Linux, BSD), Software embarcado Baremetal. Sem fins lucrativos.
http://www.asm51.com.br/phpbb/
aluis-rcastro escreveu:No século passado era mandatório para o compilador declarar antes.
aluis-rcastro escreveu:No século passado era mandatório para o compilador declarar antes.
Rodrigo_P_A escreveu:aluis-rcastro escreveu:No século passado era mandatório para o compilador declarar antes.
Ainda é, se não declarar antes de usar, vai dar erro, o linker não vai encontrar a rotina.
ÁgioFelipe escreveu:Rodrigo_P_A escreveu:aluis-rcastro escreveu:No século passado era mandatório para o compilador declarar antes.
Ainda é, se não declarar antes de usar, vai dar erro, o linker não vai encontrar a rotina.
Não é mais, na arduino IDE por exemplo, não precisa declarar antes do main.
sync escreveu:ÁgioFelipe escreveu:Rodrigo_P_A escreveu:aluis-rcastro escreveu:No século passado era mandatório para o compilador declarar antes.
Ainda é, se não declarar antes de usar, vai dar erro, o linker não vai encontrar a rotina.
Não é mais, na arduino IDE por exemplo, não precisa declarar antes do main.
Amigo
O Arduino é um dialeto, embora use o gcc para produzir executáveis, todo o ambiente é próprio dele e não segue os padrões do C/C++, possui os dele mesmo. Eu creio que o colega guri usa um compilador C padrão.
cfreund escreveu:Em versões mais recentes, realmente não é necessário. Porém, é conveniente e mais elegante fazê-lo. E também mantém a portabilidade.
extern void minha_funcao();
int main(int argc,char *argv[]) {
minha_funcao();
return 0;
}
void minha_funcao()
{
// faz alguma coisa, sei lá o que
}