1

我想做这个问题的反面。

我将文件作为数组嵌入到可执行文件中,稍后我想从可执行文件中提取嵌入的文件。

似乎 objcopy 在这里可能有用,但我还没有想出正确的咒语。

(编辑:澄清问题,我最初在编辑时以某种方式删除了它的症结......)

4

2 回答 2

2

我认为,如果将嵌入文件放在其自己的部分中,则可以使用 objcopy 将该部分提取到原始输出文件中。查看 gcc__attribute__((section("embedded_file") )) 或者如果您使用链接器以其他方式将文件放入 exe,您应该能够以另一种方式将其放入另一个部分,但我不熟悉这样做。

于 2010-04-27T18:22:42.783 回答
1

在数组的开头放置一个可识别的模式,以帮助您找到文件中的数据。

如果您正在创建 Windows 可执行文件,请将数据放入可执行文件的二进制资源中,而不是仅将其编码到数组中——然后您可以使用普通的 Windows 资源函数(FindResourceLoadResource等)来获取数据(尽管这比最初看起来应该的要正常工作有点棘手)。

于 2010-04-27T15:03:26.880 回答