Raphael Augusto

Coisas de quem é apaixonado por Computação

Posts com Tag ‘Programação’

Meu projeto com Allegro

Publicado por raphaaugusto em 05/31/2009

alex2Olá.

Fiquei um tempo sem postar, pois estive bastante ocupado nos ultimos dias, inclusive participando do III ENSL e IV FSL, que ocorreu aqui em Salvador nos dias 29 e 30 de maio. Vou procurar alguns links de fotos depois, mas, de antemão, foi MUUUITO MASSA!!!.

Enfim, o assunto hoje é Allegro. Pra quem não conhece, o Allegro é uma biblioteca gráfica bastante popular para criação de jogos, principalmente em C, embora tenha versões também para Pascal (talvez tenham mais, porém não conheço).

No momento, estou desenvolvendo um projeto de faculdade em Allegro em C, que é um jogo de batalha naval, que além de ter uma interface “bonitinha”, interação através do mouse, vai contar também com algumas funções de inteligência artificial (nada do outro mundo…) que ainda vão ser implementadas.

Para quem quiser dar uma olhada no código, coloquei os arquivos do projeto (escrito no code::blocks) provisoriamente em www.revolutions.site88.net/BNaval.zip. No momento, ainda não está nada acabado, mas se tiver interesse, entre em contato para que eu possa auxiliar no que for necessario.

Ah, e é lógico, o código é GPL. ;-)

Vlwww.

Enviado em Allegro, C, Programação | Tagged: , , , | Deixar um comentário »

Diretivas de compilação para o GCC

Publicado por raphaaugusto em 05/09/2009

gcc_lg

Hoje me deparei com um problema (coisa de iniciante…): como fazer um programa em C que conseguisse saber se está rodando em windows, linux ou outro SO, sem precisar mudar o código?

Se você pensou “Pra quê eu vou querer fazer isso?”, veja só:

Imagine que seu programa trabalha com arquivos. Se você fosse acessar um arquivo no windows, seria algo como “c:\meuprograma\dados\arquivo.xml”. Agora, se fosse no linux, seria algo como “/home/raphael/arquivo.xml”.

E agora? Como seu programa pode tratar as duas formas?

Pesquisando um pouco, descobri que é muito simples. Precisa apenas colocar o codigo específico para cada SO num bloco como o mostrado abaixo:

#ifdef __linux__
//comando
#endif

Veja outro exemplo abaixo:

#include <stdio.h>

int main(){

#ifdef __linux__
printf(“estou no LINUX”);
#endif

#ifdef __WIN32__
printf(“estou no WINDOWS”);
#endif

return 0;
}

Pode testar esse código compilando no Windows e Linux, e veja o resultado.

Qqer coisa, deixem comentário!!

Enviado em C, Programação | Tagged: , , | Deixar um comentário »