我想提供Qt资源系统的易用性(基本上是一个包含文件列表的xml,它被预编译成一个C ++源文件,其中包含一堆char
个二进制字节内容的数组。这些文件,在纯C ++中编译成二进制文件。
所以我想知道,这是第一个也是几乎唯一的要求,即使在可能的情况下也是如此?
我可以将二进制文件编译成目标文件吗?
我知道在C ++ 11原始字符串文字中#include另一个文件并不是简单的可能,但也许有办法解决这个问题。我想抛弃预编译步骤。有办法吗?
在最坏的情况下,可能是代码中的链接器脚本和一些voodoo访问这些字节可以使这个功能正常,但我不知道这是否比预编译步骤更好(这当然更透明。 ..)。
答案 0 :(得分:2)
但我不知道这是否比预编译步骤更好(这当然要透明得多......)。
^^^^这是要走的路(强调我的)。
我没有看到标准符合到#include
二进制文件的内容直接进入您的代码。
您需要一个可以将该二进制文件转换为
的工具uint8_t myBinaryData = { 0x00, 0xfb, 0x42, /* ... */ }
并最终包括在内。
简单的python脚本左右会很好。