paulo1205
(usa Ubuntu)
Enviado em 10/09/2014 - 10:51h
Thihup escreveu:
E o que isso quer dizer ???
Não sou o autor do texto, mas suponho que quer dizer exatamente o que diz.
Eu tenho o arquivo main.c e 5 'headers'.h
Parece que se eu usar o -ansi tenho que fazer dessa forma :
gcc arquivo1.h arquivo2.h arquivo3.h arquivo4.h arquivo5.h main.c -o Arquivo
Os erros são que ele não reconheçe os outros arquivos incluidos.
Vale a pena usar o -ansi ?
T+
Você não deveria compilar explicitamente arquivos de cabeçalhos. Eles são referidos somente dentro de arquivos ".c", por meio da diretiva do preprocessador
#include.
Se vale a pena usar
-ansi ou não depende do que você quer fazer. A explicação que reproduzi aqui, tirada da própria documentação do GCC, explica de modo mais ou menos detalhado o que deixa de ou passa a funcionar quando você usa a opção.
O fato é: existe um padrão ANSI (depois copiado pela ISO) para a linguagem C, que descreve a linguagem que é aceita pelo compilador e prescreve requisitos para o próprio compilador. Quase todos os compiladores, no entanto, inclusive o GCC, implementam extensões à linguagem padronizada e ao funcionamento do compilador prescrito no padrão. Se você as utilizar, pode correr o risco de que seu código não compile numa outra implementação.
Se você tiver interesse que seu código possa ser utilizado em outros sistemas, deve procurar não utilizar tais extensões. A opção
-ansi pode lhe ajudar a diagnosticar eventuais usos de extensões que quebrariam a desejada compatibilidade.
N.B.:
-ansi se preocupa apenas com a linguagem. Não tem relação alguma com bibliotecas que você venha a utilizar.