Dav*_*vid 13
对于大型文件,转换为文本然后让编译器再次解析它是低效且不必要的.objcopy改为使用:
objcopy -I binary -O elf32-i386 stuff stuff.o
Run Code Online (Sandbox Code Playgroud)
(根据非x86平台的需要调整输出架构.)然后,一旦将其链接到程序中,就可以像下面这样访问它:
extern char _binary_stuff_start[], _binary_stuff_end[];
#define SIZE_OF_STUFF (_binary_stuff_end - _binary_stuff_start)
...
foo(_binary_stuff_start[i]);
Run Code Online (Sandbox Code Playgroud)
hexdump -v -e '16/1 "0x%x," "\n"'
Run Code Online (Sandbox Code Playgroud)
会从stdin生成一个类似C的数组,但是没有声明,没有花括号或格式正确。
| 归档时间: |
|
| 查看次数: |
13063 次 |
| 最近记录: |