[FUG-BR] RES: RES: C/C++
Henrique Berenguel
henriqueberenguel em uol.com.br
Domingo Fevereiro 25 12:59:53 BRT 2007
Alguém conhece livro bom ou curso bom de c para unix?
-----Mensagem original-----
De: freebsd-bounces em fug.com.br [mailto:freebsd-bounces em fug.com.br] Em nome
de Paulo Pires
Enviada em: domingo, 25 de fevereiro de 2007 00:57
Para: Lista Brasileira de Discussão sobre FreeBSD (FUG-BR)
Assunto: Re: [FUG-BR] RES: C/C++
On 2/25/07, gethostbyname <gethostbyname em gmail.com> wrote:
>
> Essa exigência não é apenas da linguagem C++:
>
> "*ISO/IEC 9899:1999 (E) (c)ISO/IEC*
>
> *5.1.2.2.1 Program startup*
> The function called at program startup is named main. The implementation
> declares no prototype for this function. It shall be defined **with a
> return type of int** and with no parameters:
> *int *main(void) { /*...*/ }
> or with two parameters (referred to here as argc and argv, though any
> names may be used, as they are local to the function in which they are
> declared):
> *int *main(int argc, char *argv[]) { /*...*/ }
> or equivalent [ver a Nota]; or in some other implementation-defined
manner.
>
> *Nota*:
> Thus, int can be replaced by a typedef name defined as int,or the type
> of argv can be written as char ** argv, and so on."
Eu não se se foi coisa da lista, mas aqui apareceu um monte de
asteriscos (acho que você que usou negritos), fazendo parecer
ponteiros; eu achei um PDF do padrão através do Google (talvez o mesmo
que você achou, em
<http://www.nirvani.net.nyud.net:8090/docs/ansi_c.pdf>), onde vi que
eu não estava louco com um bando de ponteiros. :)
Mas veja o ponto-e-vírgula antes de "or some other
implementation-defined manner". Visualmente, acho que outra arrumação
poderia aumentar mais a clareza, mas o que entendo é que uma
implementação "hosted" (isto é, aquela que executa em um sistema
operacional) pode optar entre retornar int _ou_ "alguma outra maneira
definida pela implementação". Se optar por int, então deve aceitar
int main(void){/*...*/} *e* int main(int argc, char *argv[]){/*...*/}.
Mas que o fraseamento e a composição visual não ajudam na clareza,
não ajudam mesmo.
--
Um abraço.
Paulo A. P. Pires
... Qui habet aurem audiat quid Spiritus dicat ecclesiis.
-------------------------
Histórico: http://www.fug.com.br/historico/html/freebsd/
Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
--
Internal Virus Database is out-of-date.
Checked by AVG Free Edition.
Version: 7.5.441 / Virus Database: 268.17.37/682 - Release Date: 12/2/2007
13:23
Mais detalhes sobre a lista de discussão freebsd