Quem conhece o formato de imagem XPM sabe que ele e’ basicamente um arquivo fonte em C, facilmente anexado dentro de qualquer programa em C.
Mas e para outros arquivos multimedia (binarios), como adiciona-los no seu codigo fonte? Quem ja usou C++Builder ou Delphi no SO proprietario conhece bem os arquivos de resource, que sao anexados dentro do programa final.
Mas e na linguagem C padrao, como eu posso adicionar um arquivo binario diretamente no meu codigo fonte?
A resposta e’ simples, e ela ja vem na maioria das distribuicoes Linux (embora na esteja definida na LSB). Trata-se do aplicativo “xdd”. Ele converte arquivos binario para hexadecimal e vice-versa. Alem disso ele pode ser usado para gerar um arquivo header do C:
xxd -i yahoo.wav > yahoo.h
Pronto, nada de arquivos binarios em separado, coloque tudo no seu arquivo .h
Eu fiz algo parecido faz tempo … de novo …
No fundo, eu precisava gerar um mini file-system. Aí gerava arquivos .h e .c, tudo organizadinho depois numa estrutura com vários itens do tipo:
typedef struct SFileEntry
{
char unsigned pucFile[_MAX_PATH];
char unsigned pucVar[_MAX_PATH];
unsigned long ulSize;
unsigned long ulAddress;
} tFileEntry;
Vou mandar no seu email ….
Comment by Marcelo Barros — August 21, 2008 @ 6:29 pm |