我想嵌入二進制blob到exe文件。我正在使用mingw gcc。使用gcc嵌入二進制blob mingw
我作出這樣的對象文件:
ld -r -b binary -o binary.o input.txt
我再看看objdump的輸出,以獲得符號:
objdump -x binary.o
,並讓符號命名:
_binary_input_txt_start
_binary_input_txt_end
_binary_input_txt_size
我然後嘗試在我的C程序中訪問它們:
#include <stdlib.h>
#include <stdio.h>
extern char _binary_input_txt_start[];
int main (int argc, char *argv[])
{
char *p;
p = _binary_input_txt_start;
return 0;
}
然後我編譯如下:
gcc -o test.exe test.c binary.o
但我總是得到:
undefined reference to _binary_input_txt_start
有誰知道我做錯了嗎?
順便說一句,我不知道拉的任意數據轉換成可執行的這種方法的 - 很不錯。 – 2010-04-13 05:48:35
這種方法提供的文件不是'.rc'文件提供的嗎? – rubenvb 2011-10-20 09:36:04
@rubenvb更容易訪問contntent。它不需要調用任何資源API:s – user877329 2012-03-15 09:16:55