猿问

使用GCC在可执行文件中嵌入资源

使用GCC在可执行文件中嵌入资源

我正在寻找一种方法,可以轻松地将任何外部二进制数据嵌入到GCC编译的C/C+应用程序中。

我想要做的一个很好的例子是处理着色器代码-我可以将它保存在源文件中,如const char* shader = "source here";但这是非常不切实际的。

我希望编译器为我做这件事:编译时(链接阶段),读取文件“foo.bar”并将其内容链接到我的程序中,这样我就可以从代码中以二进制数据的形式访问内容。

对于小型应用程序可能很有用,我希望将其作为一个.exe文件分发。

GCC支持这样的东西吗?


侃侃无极
浏览 1169回答 3
3回答

哈士奇WWW

除了前面提到的建议之外,在Linux下,您可以使用十六进制转储工具xxd,它具有生成C头文件的特性:xxd -i mybinary > myheader.h
随时随地看视频慕课网APP
我要回答