Para compilar programas 'C' em distribuições Fedora/CentOs (ou outras) usando o compilador/linkeditor gcc (GNU Compiler Collection, http://gcc.gnu.org/) utilizar, preferencialmente, a seguinte sintaxe:
gcc -Wall -o <executavel> <fonte.c>
Exemplo:
gcc -Wall -o teste teste.c
Caso o programa use a biblioteca Math.h, incluir o parâmetro -lm para linkeditar com esta biblioteca:
gcc -Wall -lm -o <executavel> <fonte.c>
Exemplo:
gcc -Wall -lm -o teste teste.c
Outros parâmetros comuns:
-c : Apenas compila o programa, mas não faz a linkedição. Para linkeditar então deve-se chamar novamente o gcc, passando com a seguinte sintaxe:
gcc -o <executavel> <objeto>
exemplo:
1) Compilação
gcc -c -o teste.o teste.c
2) Linkedição
gcc -o teste teste.o
-glevel (normalmente -g3): Inclui informação completa de Debug, para uso com o GDB (GNU Debugger (http://www.gnu.org/software/gdb/)
Mostrando postagens com marcador gcc. Mostrar todas as postagens
Mostrando postagens com marcador gcc. Mostrar todas as postagens
sexta-feira, 14 de junho de 2013
Programa C - Utilização da Biblioteca Math
Em distribuições Fedora/CentOs, quando se quer utilizar a biblioteca MATH (math.h / libm) em programas "C", por algum motivo o linkeditor normalmente não encontra esta biblioteca por default. Neste caso, é necessário informar ao compilador no momento da compilação para utilizá-la:
gcc -o <executavel> -lm <fonte>
Exemplo:
gcc -o teste -lm teste.c
Quando usando a IDE do Eclipse, deve-se entrar nas propriedades do projeto (ALT-ENTER), ir na opção C/C++ Build, seção Settings, GCC C Linker, Libraries, incluir a Library (-l) m.
gcc -o <executavel> -lm <fonte>
Exemplo:
gcc -o teste -lm teste.c
Quando usando a IDE do Eclipse, deve-se entrar nas propriedades do projeto (ALT-ENTER), ir na opção C/C++ Build, seção Settings, GCC C Linker, Libraries, incluir a Library (-l) m.
segunda-feira, 13 de maio de 2013
C - Suporte a Arquivos com mais de 4Gbytes
Quando se utiliza programas "C", compilados com GCC, para leitura de arquivos com mais de 4 Gigabytes deve-se utilizar os parâmetros :
-D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64
-D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64
Assinar:
Comentários (Atom)
