Este é meu primeiro post aqui no ICC e pretendo mostrar o mais básico, como compilar um programa básico em C ou C++ no linux e no Windows.
Primeiramente, vamos montar uma máquina com os softwares necessárias para programar em C/C++, caso o sistema operacional de sua preferência seja o Windows, a maneira mais fácil é baixar e instalar o Bloodshed Dev-C++, é um programa gratuito e pode ser baixado aqui, após instalar o Dev-C++ sua máquina Windows está pronta. Caso você utilize Linux, é um pouco mais fácil, a maioria das distribuições Linux já vem com o compilador GCC instalado ou então nos repositórios, bastando instalar, para este post estou utilizando Ubuntu 8.10 que pode ser baixado aqui. Para deixar sua máquina com tudo em cima no Ubuntu recomendo executar os seguintes comandos para garantir o bom funcionamento.
**Importante, é necessário estar logado como root ou ter permissões de administrador para executar estes comandos, se você estiver logado com outro usuário pode usar o comando "sudo -s" para adquirir privilégios de administrador.
Atualizando o sistema:
apt-get update
apt-get upgrade
Instalando o Buil-Essential
apt-get install build-essential
Feito isso, temos nossa máquina devidamente equipada com os softwares para criar nosso primeiro programa em C/C++.
Pra começar vamos criar um programa que imprima na tela a frase "Hello World!".
Código em C:
#include
main()
{
printf("Hello World!\n");
}
Código em C++:
#include
int main()
{
std::cout << "Hello World!\n" << std::endl;
return 0;
}
Para compilar no Windows execute o Bloodshed Dev-C++, crie um novo arquivo, copie e cole o código-fonte no arquivo, salve como hello.c ou hello.cpp e pressione F9 para compilar e executar o programa. No Dev-C++ não tem diferença na compilação e execução do código-fonte, tanto para C quanto para C++, basta pressionar F9.
Para compilar no Ubuntu abra qualquer editor de texto puro, pode ser o gedit, crie um novo arquivo, salve o arquivo com código em C como hello.c e o arquivo com código em C++ como hello.cpp, para compilar vá para o terminal (CTRL+ALT+F1) ou abra um terminal em modo design mesmo, basta pressionar as teclas ALT+F2 e executar "gnome-terminal" ou "xterm" para abrir um console de linha de comando, agora vem a parte divertida, vá até o diretório (pasta) onde você salvou os arquivos e execute os seguintes comandos para compilar o programa em C:
Garantir permissão de Administrador
sudo -s
Compilar o programa
gcc -c hello.c
gcc -o hello hello.o
Executar o programa
./hello
O programa imprimirá na tela a frase Hello World!
Para compilar e executar o programa em C++, execute os mesmos passos do programa em C, mas na hora executar os comandos trocar o gcc por g++ e a extenção do arquivo para .cpp, fica assim:
Garantir permissão de Administrador
sudo -s
Compilar o programa
g++ -c hello.cpp
g++ -o hello hello.o
Executar o programa
./hello
Por enquanto é isso, até a próxima!
também da para linkar (gerar o executável) do código objeto tudo num comando só:
ResponderExcluirgcc -c arquivo_fonte.c -o nome_executavel_desja_gerar [ENTER]
Grande Bolívar!!! Sippman??? e aí meu bruxo? cadê a conexão com mysql?? heheheh Flow galera!
Este comentário foi removido pelo autor.
ResponderExcluirForma de compilar e gerar o executavel com uma unica linha de comando
ResponderExcluirsem gerar o arquivo com a extensão .o dentro da pasta.
g++ -o string -pedantic -ansi string.cpp
no caso string é o nome do arquivo fonte
Estou tentando aqui e funciona, abre uma tela preta e imprime isso, mas dura menos de um décimo de segundo. Não deveria ficar aberto na tela?
ResponderExcluirOutra coisa, ele pede pra colocar alguma coisa do lado do #include.
Pra ficar na tela (Windows) vai precisar configurar um system pause, ou executar via linha de comando.
ResponderExcluirSim, precisa add na frente do #include e outro #include provavelmente, no blog não foi possível colocar o código...
ResponderExcluirEste comentário foi removido pelo autor.
ResponderExcluirEm C stdio.h
ResponderExcluirEm C++ iostream.h
Este comentário foi removido pelo autor.
ExcluirBoa Noite, não, não esquecemos das bibliotecas, acontece que o sistema de posts do blog considerou como se fosse uma TAG HTML e não aparece.
ResponderExcluirE obrigado por acompanhar o blog!
Nossa,que triste :(
ResponderExcluirNão consigo deixar na tela
O pior de tudo é que tbm não consigo configurar pra isso ocorrer...
O pior de tudo [2] é que meu professor passou um monte de situações pra montar projetos e só algumas que tem que adicionar alguma informação na tela que funcionam...
E ainda assim continuo amando Telecomunicações, principalmente a parte de programação...
Para que o programa "fixe" a tela no C++ no Windows, tem que colocar o código system("PAUSE");
ResponderExcluirantes do final :D
Como que faço pra compilar com o gcc no Linux e gerar o .exe para Windows?
ResponderExcluirValeu!
Ah! Parabéns pela postagem do procedimento de tempo de execução. Me ajudou muito hoje...
ResponderExcluirValeu novamente!
Eu estou mais acostumado com java e estranhei ver ser mais fácil, pois para o mesmo resultado aparece você tem colocar mais palavras (a quantidade de linhas é a mesma em C):
ResponderExcluirpublic class Teste {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
Ou:
public class Teste {
public static void main(String args[]) {
System.out.println("Hello World!");
}
}
Você pode personalizar o código mudando onde tem
Teste e Hello World! ex:
public class NovaClasse { // Nome da classe, você tem que salvar o arquivo como NovaClasse.java
public static void main(String args[]) {
System.out.println("Frase a ser exibida. ex: Esse Blog é muito legal :)"); // Frase que vai aparecer
}
}
É muito bom a gente ver como funciona outras linguagens. :)
E não se esqueça de salvar o arquivo com o nome da classe que você escolheu, no nosso caso NovaClasse.java e com a extensão .java
Tchau!!!
Pro pessoal que gosta de Java temos o http://foojava.blogspot.com/, acho que é o blog com mais "hello world" em Java da Internet, vale a pena pra iniciantes!
ResponderExcluirrapaz em alguns compiladores g++ é include
ResponderExcluirrapaz ta dificil de publicar aki no seu blog nao aparece os sinais de maior e menor TAGS do include q tambem sao tags aqui em html eu acho e esse negócio de digitar esse codigo eh horrivel desistimula,pois é, depois do include abre sinal de menor e coloca iostream e depois fecha sinal de maior sem colocar .h em alguns compiladores,quase desisto de postar isso tentei esse cógo chato umas 20 vezes eh tudo borrado isso nao sabe se agente eh maquina e sim se quem lê tem imaginação
ResponderExcluirBoa tarde a todos,
ResponderExcluirSou iniciante (zerado em programação)! E a minha intenção é aprender a programar em C++ (pelo que pesquisei, essa é mais adequada para minhas atividades).
Parâmetros:
SO: Ubuntu 12.04 LTS 64bits;
Eu atualizei o sistema, como descrito a cima, mas ele já se encontrava atualizado, nenhum pacote foi substituido, removido ou adicionado; (ok)
Copie e colei o código para C++ no gedit e salvei como hello.cpp e fechei ; (ok)
Pelo terminal eu entrei no diretório onde eu salvei o arquivo e depois loguei como super usuário sudo -s; (ok)
Problemas:
Na hora de compilar eu copiei e coleio primeiro comando g++ -c hello.cpp, e obtive a seguite mensagem:
hello.cpp:1:10: erro: #include espera "NOME DO ARQUIVO" ou
hello.cpp: Na função ‘int main()’:
hello.cpp:4:2: erro: ‘cout’ não é um membro de ‘std’
hello.cpp:4:35: erro: ‘endl’ não é um membro de ‘std’
Tentei o mesmo para a tentativa em C e me retornou o segunte erro:
hello.c:1:9: erro: #include espera "NOME DO ARQUIVO" ou
hello.c: Na função ‘main’:
hello.c:4:2: aviso: incompatible implicit declaration of built-in function ‘printf’ [habilitado por padrão]
Diante disso eu peço a vocês, se puderem, uma ajuda para iniciar nesse novo "idioma" que é a programação.
Desde já eu agradeço
Att,
Samir
Boa Tarde,
Excluirbem-vindo ao mundo da programação hehehehe. Cara, infelizmente o blogspot tenta formatar o texto e assim acaba cortando palavras... então faltou código ali em cima... vamos la, usei Visual Studio C++ para o teste (estou sem linux no momento). o código deveria ficar assim
#include
int main()
{
std::cout << "Hello World!\n" << std::endl;
return 0;
}
qualquer dúvida só chamar. Att
Eu fiz um compilador num sistema operacional Linux, só que agora preciso fazer ele rodar no Windows, não estou conseguindo, o que tenho que fazer?
ResponderExcluir