phstc
Veterano
Registrado
1.9K Mensagens
0 Curtidas
PS: Porém se vou na shell e digito g++ teste.c -o teste.o e depois tento executar funciona.
phstc
Veterano
Registrado
1.9K Mensagens
0 Curtidas
Entendi tenho que usar o construir ao inves de usar o compilar mais pq vcs sabem? e qual a diferença de compilar com o make ou sem make?
igorvc
Membro Junior
Registrado
138 Mensagens
0 Curtidas
Amigos estou usando o ajunta para escrever alguns códigos em C, porém quando compilo e depois tento executar o progra...
Colega, boa tarde:
Como vc falo que via gcc funciona, compare as permissões do arquivo criado nos dois métodos e veja se pode ser isso !!!!
ex.: ls -l teste1.c (feito via ajunta)
ls -l teste2.c (feito via gcc)
veja os r !!!!, usuários e grupos que podem executálos !!!!!!
Um abraço
Quetz
Membro Senior
Registrado
328 Mensagens
0 Curtidas
Não é bem isso, a diferença entre compilar e buildar é que quando você compila, você cria apenas o código objeto, esse ainda não é o código que a máquina consegue entender como binario, e executá-lo, antes de fazer isso, o compilador faz algumas coisas:
source==>assembly==>objeto==>binario
quer confirmar?
cc -S src.c
less src.s
e veja seu programa em assembly, então, você ainda não pode executar esse arquivo .s concorda? Para buildar, é simples:
cc -c src.c
cc -o src src.o (aqui você passa o arquivo objeto para código de máquina)
./src
O computador faz tudo isso pq? Pq desse modo se tiver algum erro no código objeto(acredite, dá) ele não cria o arquivo executável, e o programa somente sai se estiver "perfeito". Diga-se perfeito por livre de erros de sintaxe, erros de lógica causam erros no programa.
O comando gcc src.c cria um arquivo a.out já buildado, ou seja, o que ele fez?
cc -c src.c
cc -o a.out src.o
Entendeu?
Live the world, live your life.
**Slackware 8.1**
**Kernel 2.4.19**
**Black Box**
phstc
Veterano
Registrado
1.9K Mensagens
0 Curtidas
sumpimpa legal mesmo valeu.