Jonny Zone : Copyleft – all rights reversed

August 21, 2008

Adicionando arquivos binarios dentro do seu fonte em C

Filed under: Dicas — acassis @ 4:43 pm

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 ;-)

1 Comment »

  1. 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 | Reply


RSS feed for comments on this post. TrackBack URI

Leave a comment

Blog at WordPress.com.