相关疑难解决方法(0)

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

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

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

我希望编译器为我做:在编译(链接阶段)时,读取文件"foo.bar"并将其内容链接到我的程序,以便我能够从内容中访问内容作为二进制数据码.

对于我想作为单个.exe文件分发的小型应用程序可能很有用.

GCC是否支持这样的事情?

c c++ resources gcc embedded-resource

49
推荐指数
4
解决办法
2万
查看次数

使用GCC ARM工具链链接任意数据

我想链接原始二进制数据.我想把它放在一个特定的地址,或者把它链接到我在代码中定义的符号(例如char*mydata).因为它不是一个obj文件,所以我不能简单地将它链接起来.

类似的帖子(包含GNU ld链接器脚本的二进制文件)建议使用带-B bfdarch选项的objcopy .objcopy以"archictecture bfdarch unknown"作为回应.

另一个答案建议将对象转换为自定义LD脚本,然后将其包含在主LD脚本中.在这一点上,我可能只是使用一个C包含文件(这就是我现在正在做的)所以我宁愿不这样做.

我可以使用objcopy来实现这一目标,还是有其他方法?

gcc arm cortex-m3 ld

9
推荐指数
2
解决办法
4703
查看次数

将二进制数据转换为 C 程序的十六进制字符串

我有一个小的二进制图像,需要在 C 程序中表示。表示将如下所示:

static const char[] = {0x1, 0x2, 0x3, 0x4...};
Run Code Online (Sandbox Code Playgroud)

(因此,字节将表示为一系列字符)

如何将二进制文件转换为一个不错的 0x..,0x.. 字符串?有没有程序可以做到这一点?

c language-agnostic binary hex

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

c ×2

gcc ×2

arm ×1

binary ×1

c++ ×1

cortex-m3 ×1

embedded-resource ×1

hex ×1

language-agnostic ×1

ld ×1

resources ×1