Fórum Ubuntu Linux - PT
18 de Junho de 2013, 01:54 *
Olá, Visitante. Faça o login ou registre-se.
Perdeu o seu e-mail de ativação?

Login com nome de usuário, senha e duração da sessão
Notícias: Atenção usuários de email com anti-spam (Uol e Bol).
 
   Home   Ajuda Regras Pesquisa Login Registre-se  
Anúncios
Páginas: [1]   Ir para o fundo
  Imprimir  
Autor Tópico: [Resolvido]Não aparece nada quando compilo em c/c++  (Lida 1115 vezes)
marco_smachado
Usuário Ubuntu
*
Deslogado Deslogado

Mensagens: 25


Ver Perfil
« em: 08 de Fevereiro de 2009, 18:03 »

Quando eu compilo um arquivo .c ou .cpp não aparece nada. Estou fazendo assim: gcc -o meu teste.c (ou teste.cpp). No terminal não aparece nenhum erro de compilação, mas também não aparece o arquivo .o. Se eu utilizar uma IDE o arquivo .o até aparece, mas quando tento executá-lo aparece a mensagem "bash: ./teste.o: Permissão negada". Alguém pode me dizer o que está acontecendo??
« Última modificação: 10 de Fevereiro de 2009, 15:59 por marco_smachado » Registrado
Darcamo
Usuário Ubuntu
*
Deslogado Deslogado

Mensagens: 1.290


Ver Perfil
« Responder #1 em: 09 de Fevereiro de 2009, 22:16 »

Você não deve executar o arquivo ".o".
Ao invés disso você deve executar o arquivo "meu" que deve ter sido criado.
Registrado
fpissarra
Usuário Ubuntu
*
Deslogado Deslogado

Mensagens: 246



Ver Perfil WWW
« Responder #2 em: 10 de Fevereiro de 2009, 17:26 »

Marco, o Darcamo está absolutamente correto sobre a compilação... Veja que você não usou a chave -c, dai o gcc vai gerar o executável final, já linkado... Se quiser gerar os .o's individuais terá que usar -c:

Código:
gcc -c -o test.o test.c

Mas, os arquivos .o não são executáveis porque não estão linkados com as biblitecas necessárias. Depois de compilar os .c para objetos (.o's), deve linká-los:

Código:
gcc -o test test.o

É claro que esse passo intermediário (gerar os .o's) só é útil se você tiver vários módulos .c para compilar... Na linha de comando acima você poderá ter que indicar ao compilador alguma biblioteca em particular para ser linkada (libm.a, por exemplo - neste caso a chave -lm deve ser usada - onde 'm' é o nome da lib. Ou seja libm.a).

[]s
Fred
Registrado
Páginas: [1]   Ir para o topo
  Imprimir  
 
Ir para:  

Powered by MySQL Powered by PHP Tema desenvolvido por FaBMak e n3t0
Powered by SMF 1.1.18 | SMF © 2006-2009, Simple Machines
© 2013 Canonical Ltd. Ubuntu e Canonical são marcas registradas da Canonical Ltd.
XHTML 1.0 válido! CSS válido!