01-04-2006 por alecius
compilar e executar em C
Galera...
Comecei a aprender C na faculdade, porém, Linux lá não chega nem perto e estou utilizando Suse em casa, porém, não sei como faço para compilar e executar utilizando o gcc.... e ainda... existe alguma biblioteca q substitua a conio.h do rwindows!
Valeu...
01-04-2006 por Rui_Carlos
com o comando 'man gcc' pode obter informações sobre o funcionamento do gcc.
existem demasiadas opções no gcc para as descrever todas.
as mais básicas são:
1)
gcc -o exec file1 file2 ...
cria um executável com o nome 'exec' (ou qualquer outro que você especifique) a partir do ficheiros file1 file2 ...
2)
gcc -c file.c
cria o ficheiro 'file.o'
você pode usar no comando (1) ficheiros *.c ou *.o (obtidos através de (2))
a vantagem de usar *.o é não ter que compilar sempre todos os ficheiros...
P.S. uma pesquisa no fórum de programação talvez ajude...
01-04-2006 por Zanichell
Eu não conheço muito de programação, estudei um pouquinho de C por alguns tutoriais e livros, mas bem pouco.
Se você for tentar compilar os programas feito no windows é preciso tirar da sintaxe aquele void, ex:
void man (void)
ou
man (void)
T+
01-04-2006 por luciano
Sobre a tal conio.h... Faz séculos que não trato de DOS/Win, nem me aventuro muito em programação, mas faça uma pesquisa sobre a biblioteca ncurses:
01-04-2006 por peczenyj
Eu gosto de colocar .exe no final dos meu programas, ai algum desavisado pode tentar executar no windows :twisted:
gcc -Wall arquivo.c -o arquivo.exe
Se vc omitir o '-o nomedoprograma' será gerado um executável de nome 'a.out' :wink:
Assim eu vejo todos os warnings e faço as correções necessárias. Caso precise linkar com a biblioteca de funções matemáticas (pra usar sin, cos, tan...) eu faço
gcc -Wall -lm arquivo.c -o arquivo.exe
Para saber mais
man libc
info libc
links uteis
http://ead1.eee.ufmg.br/cursos/C/
http://www.java2s.com/Code/C/CatalogC.htm
01-04-2006 por alecius
Valeu até agore, mas ainda dúvidas....
qdo faço referência ao include no win inicia-se a frase com #, porém no linux isso significa comentário.... em C isso é ignorado ou a regra do linux vale.... depois de compilado crio o arquivo bin... como faço para executá-lo. Por exemplo, em java digita-se javac nome_do_arquivo e compila, depois, java nome_do_arquivo para executar... e assim por diante....
Outra dúvida... ao instalar o gcc no linux (junto com a instalaçao do próprio SO) as libs C já vem tb ou preciso instalá-las posteriormente
01-04-2006 por yuri1
Olha vou tirar todas tuas duvidas.........todas.
vc usa na faculdade o dev c++ ou o borland onde vc da f9, e ele executa...vc usa a conio.h para usar o getch(); e outras funcoes miseraveis...as mesmas nao serao nescessarias no linux, pois como a programacao eh direto no sistema vc nao vai precisar.
o gcc e o cc sao muito faceis de executar é so dar gcc -o nome do arquivo.c, eu te aconselho a nao usar o gcc diretamente...te aconselho a usar uma IDE, ambiente de desenvolvimento...vou te aconselhar a mais facil, bonita e rapido, sem mencionar que utiliza o gcc e o cc. o pragrama se chama ANJUTA... como vc usa o debian...acho que vc pode usar o apt-get entao vamos la apt-chace search anjuta, ache o que aparecer e apt-get install ajuta, otimo, ele vai baixar e instalar. acho melhor vc fazer um atalho...o icone eh como se fosse uma cara de cavalo. no anjuta vc vai ter que medificar uma coisinha....é so tirar um c de uma linha de configuração...dai vai bastar apertar o f9 e vai rodar como no borland por ex. e vc nao vai precisar fazer o processamento parar pois o propio linux faz isso.
01-04-2006 por yuri1
outra coisa, nao acho o suse um bom linux...mas tudo bem, uma grande parte de bibliotecas vem com o linux, ex stdio. srting.h math.h dentre outras.
02-04-2006 por peczenyj
Citação:
|
qdo faço referência ao include no win inicia-se a frase com #, porém no linux isso significa comentário.... em C isso é ignorado ou a regra do linux vale....
|
Pode ser um comentario para shell script e outras linguagens de programação, mas quem interpreta é o pre-processador C/C++ não o shell.
Os #include não são parte da linguagem C, são instruções para o pré processador. Os .h são arquivos headers com os protótipos, variaveis, constantes, tipos e outras coisinhas que vc insere no seu fonte CASO seja necessário.
Um exemplo é o hello world. Vc pode usar o printf sem informar o stdio.h pois omitindo o protótipo da função printf assume-se que printf retorna um inteiro, o que no uso normal do printf não influencia nada.
02-04-2006 por Zanichell
E para executar o programa é só entrar na pasta do programa compilado e digitar:
./nome_do_binário_gerado
Ex:
Código:
linhaplana@artemis:~$ vi meu_programa.c
linhaplana@artemis:~$ gcc -o meu_programa meu_programa.c
linhaplana@artemis:~$ ./meu_programa
testando o meu programa
linhaplana@artemis:~$
T+
03-04-2006 por alecius
Galera.... muito obrigado mesmo... sou mto grato!
Abraço a todos