23 Dec
Um requisito cada vez mais importante hoje em dia para uma aplicação é a portabilidade. Com cada vez mais sistemas diferentes no mercado, com configurações e necessidades específicas, fica mais difícil atingir esse objetivo.
Em Java, essa preocupação não é necessária, já que a máquina virtual é sempre a mesma (na verdade, quase sempre… algumas têm funcionalidades a mais). Mas em linguagens compiladas para código de máquina, como C e C++, a tarefa fica mais difícil.
Felizmente há diversas ferramentas e truques que podem ser utilizados para atingir esse objetivo mais facilmente. É possível fazer aplicações portáveis em C e C++ sem o uso dessas ferramentas, mas é mais fácil utilizarmos o que já está pronto. As duas principais ferramentas que fazem esse papel são o autoconf e o CMake. Não tenho muita experiência com o autoconf, mas já utilizei o CMake numa aplicação que utilizava as bibliotecas GTK+ (Gimp ToolKit) e VTK (Visualization ToolKit). Ambas as bibliotecas estão disponíveis para mais de um sistema operacional, e meu objetivo era fazer com que meu programa funcionasse tanto em Windows como em Linux. Utilizando o CMake, não foi necessária nenhuma alteração na aplicação para fazê-la funcionar em ambos os sistemas.
A função dessas ferramentas é assegurar que as dependências do seu programa (bibliotecas, formato de dados) estão satisfeitas e gerar instruções para uma ferramenta de compilação (Make, Visual Studio) saber como chamar o compilador para compilar seu programa, afinal os compiladores mudam de sistema para sistema, e mesmo as opções de compilação de um mesmo compilador mudam.
Então, se você for escrever uma aplicação um pouco mais complexa do que um “Hello world”, vale a pena investir um tempinho para escrever um arquivo de configuração para usar uma dessas ferramentas!
Posts Relacionados:
Assine nosso RSS feed!
3 Responses for "Aplicações portáveis em C/C++"
Você conhece alguma boa documentação sobre VTK? Eu tenho algumas aqui, mas é sempre bom ter a mais.
Ainda não tenho muita experiência com VTK. A aplicação que citei era bem simples, justamente para aprender a usar o VTK.
A documentação que eu uso é basicamente a que está no site do VTK. Por enquanto não precisei de nada além do que está lá.
Desculpe não poder ajudar… Obrigado pela visita!
Na minha conta do delicious tem alguns links, http://del.icio.us/tfmoraes/vtk . Na minha conta do magnolia também tem outros, http://ma.gnolia.com/people/tfmoraes/tags/vtk
É, eu tenho os dois, um eu uso quando estou no Ubuntu, o outro no slackware.
Leave a reply