A mágica por trás dos comandos configure / make / make install

Se você já utilizou algum sabor de Unix para desenvolvimento, provavelmente instalou software a partir do código fonte com esses comandos:

./configure
make
make install

Eu sei que eu digitava bastante isso, mas quando eu comecei a utilizar o Linux eu não entendia realmente o que isso significava, eu só sabia que que quisesse instalar algum software teria que digitar esses comandos.

Continuar lendo A mágica por trás dos comandos configure / make / make install

Criando bibliotecas estáticas no Linux usando C/C++

Um dos aspectos mais importantes das linguagens modernas é o conceito de reutilização de código. Mesmo a linguagem C permite que reutilizemos nosso código usando conceitos como funções e estruturas. A linguagem C++ segue um passo adiante e permite que agrupemos variáveis e funções em classes com o mesmo propósito – a reutilização do código. Ao usar bibliotecas vamos mais fundo nesse conceito – podemos compartilhar código entre programas completamente diferentes.

Continuar lendo Criando bibliotecas estáticas no Linux usando C/C++

Mapeamento de textura no OpenGL

Uma das ferramentas mais poderosas em gráficos de computador é o mapeamento de texturas. O mapeamento de texturas aplica uma imagem a uma superfície. Modelar uma superfície complexa frequentemente não é uma tarefa prática por causa do nível de detalhes necessário e por ser difícil renderizar esses detalhes de forma acurada. Ao invés disso, o mapeamento de texturas permite que um polígono simples aparente ter uma superfície complexa.

Continuar lendo Mapeamento de textura no OpenGL

Usando a biblioteca libPNG para manipulação de imagens

Nesse artigo, iremos explanar sobre uma classe C++ que tem por objetivo abrir um arquivo PNG, armazenando a imagem na memória para podermos manipulá-la, salvando o resultando em um novo arquivo PNG.

Continuar lendo Usando a biblioteca libPNG para manipulação de imagens

Usando a biblioteca libJPEG para manipulação de imagens

Nesse artigo, iremos explanar sobre uma classe C++ que tem por objetivo abrir um arquivo JPEG, armazenando a imagem na memória para podermos manipulá-la, salvando o resultando em um novo arquivo JPEG.

Continuar lendo Usando a biblioteca libJPEG para manipulação de imagens

TetroGL: Um tutorial de desenvolvimento de jogos com OpenGL

Essa série de artigos foca no desenvolvimento de um jogo 2D com C++ e OpenGL para a plataforma Windows. O objetivo é entregar um jogo similar ao clássico jogo Tetris no final dos três artigos. Os artigos não focam apenas no OpenGL mas falam também sobre os padrões que são usados comumente no desenvolvimento de jogos com uma abordagem orientada a objetos. Você deve estar familiarizado com o C++ para poder tirar o máximo proveito da série. Existe uma seção no final de cada artigo para que você possa tirar dúvidas, fazer comentários ou sugerir algo (em inglês).

Essa série é divida em três artigos:

  • Parte 1: Cobre o loop de mensagens do win32, a criação da janela e a configuração do OpenGL. Você irá aprender também como criar formas simples.
  • Parte 2 : Cobre recursos para manipular e exibir animações simples.
  • Parte 3: Agrupa todos os tópicos e explica sobre a lógica do jogo.

Usando o GCC e o Make para compilar, lincar e criar aplicações C/C++

O compilador GNU C original foi desenvolvido por Richard Stallman, o fundador do Projeto GNU. Richard Stallman fundou o projeto GNU em 1984 para criar um sistema operacional baseado no Unix completo como software livre, para promover liberdade e cooperação entre usuários de computadores e programadores.
O GCC, antigamente conhecido como “GNU C Compiler“, cresceu várias vezes para suportar muitas outras linguagens, como C++, Objective-C, Java, Fortran e Ada. É referenciado atualmente como “GNU Compiler Collection“. O site base do GCC é o http://gcc.gnu.org/.

Internacionalização com o Qt

A internacionalização de uma aplicação é o processo de tornar a aplicação utilizável para pessoas de países diferentes do seu. Em alguns casos a internacionalização é simples, por exemplo, tornar uma aplicação dos EUA acessível para usuários Australianos ou Britânicos pode requerer apenas algumas correções de grafia. Mas fazer uma aplicação dos EUA acessível para usuários Japoneses, ou uma aplicação Coreana acessível para usuários Alemães, irá requerer que o software opere não apenas com idiomas diferentes, mas use técnicas de entrada de dados, codificações de caracteres e convenções de apresentação diferentes.

Continuar lendo Internacionalização com o Qt

Internacionalizando um programa C com o gettext

gettext é a biblioteca de internacionalização (i18n) do GNU, e é um dos padrões mais importantes do Software Livre para a internacionalização dos programas. Tradutores são usados para isso, e existem bastantes ferramentas utéis para trabalhar com os dados do gettext, de maneira que é recomendável a todos evitar tentar criar sua própria ferramenta. O Gettext também funciona no Windows, assim não já desculpa.

Continuar lendo Internacionalizando um programa C com o gettext

jpeg-compressor – codificador JPEG de domínio público em um único arquivo C++

O jpeg-compressor é uma classe em C++ pequena (menos de 1000 linhas) e fácil de usar que cria um arquivo de imagem JPEG. Suporta tons de cinza e os fatores de sub-amostragem de chroma H1V1/H2V1/H2V2, ajustes de qualidade compatíveis com a biblioteca Libjpeg, e é razoavelmente rápida com um baixo consumo de memória (tipicamente menos de 64KB). A classe consiste de um único arquivo C++ com um pequeno arquivo de cabeçalho, junto com algumas funções opcionais de ajuda e exemplo. A versão atual suporta tanto a codificação com Huffman de via única e a mais eficiente (mais também mais lenta) codificação em duas vias, faz uma única alocação dinâmica de memória e aceita imagens de 32 bits.

Continuar lendo jpeg-compressor – codificador JPEG de domínio público em um único arquivo C++

Criando bibliotecas Unix

No Unix (e alguns outros sitemas operacionais), uma biblioteca é uma coleção de objetos correlatos agrupados conjuntamente. Bibilotecas podem ser lincadas a outras bibliotecas  e a outros arquivos compilados para criar executáveis.

Continuar lendo Criando bibliotecas Unix

C++ COMO UMA LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS

Este tutorial se propõe a ensinar programação orientada a objetos em C++. A maioria dos livros não apresenta a linguagem nesse contexto, dando uma atenção maior para os recursos de C++ do que para a metodologia de programação. É recomendável que o leitor tenha acesso a um desses livros visto que não ensinaremos aqui aspectos considerados básicos que são em geral quase todos que permitem usar C++ como um C melhorado. Você pode usar C++, como uma linguagem procedural com recursos avançados, mais uma vez não é isso que pretendemos ensinar neste texto.

Referencia (http://www.dcc.unicamp.br)