2012-12-01 59 views
1

我有以下file。我编写了一个C++程序,将其复制并粘贴到另一个程序上(以及其他内容)。但是,我想摆脱它。也就是说,我不想分发这两个一个可执行文件和这个文件。我尝试对内容进行硬编码,但由于存在特殊字符(如",\n等),并且字符串变量可能并不总是具有保存所有这些数据所需的内存。摆脱不必要的输入文件

我还能做什么?

+0

你有一个特定的平台吗? – Joe

+0

您可以将其处理为静态表格。 Qt有这样的配置对象,它工作得很好。 –

+0

为什么你必须将整个文件放入一个字符串变量中? – Beta

回答

1

我要建议的第一件事是编码文件的内容。当然是自动的。我可以想象一个打字的梦魇。据说,这里有各种各样的工具。例如,bin2h。或者,例如,有一个Qt Resources框架确实不错,但可能不值得引入依赖关系,除非您已经使用Qt。

但是,如果您尝试应付的任何内容足够大以至于无法与内存匹配,则您只能坚持将该文件与程序一起外部分发。事实上,这是一种很常见的做事方式。例如,OS X(和iOS)的大多数重量级(而非仅限于)应用程序都是以“捆绑包”的形式分发的,这只不过是一个带有资源文件和可执行文件的zip压缩文件。如果您的目标是促进这种分销实践的平台之一,那么这也可能是一种解决方案。

希望它有帮助:)

+0

我用bin2h成功。幸运的是,我的文件足够小,可以用这种方式存储在内存中。另外,我不知道这是一个以捆绑方式发布文件的约定。我很想知道这是如何实现的,但这是另一个问题的主题。谢谢! – Raptor