c++程序在编译时的大量数据

Huge data in C++ program during compile time

本文关键字:数据 程序 编译 c++      更新时间:2023-10-16

我有大约30个XML文件,我的c++进程(在运行时)应该解析并进行一些安装。

我觉得,与其在运行时使用XML,为什么我不能写一个脚本,将XML文件编码成我自己的结构,并生成一个应该编译和构建的c++程序?

我的意思是,我的脚本应该将编码结构填充为c++程序中的变量赋值。

之类的
class generatedCode
{
private:
   unsigned char = ox11, ox22....
};

然后我的c++进程将解码并进行安装,而不是解析XML。

我的全部意图是通过某种方式将所有XML信息带入c++进程内存。

谁能建议一下,这是一个好方法吗?你有什么别的建议吗?

您确实可以"编译"(即转换)这些XML文件为更紧凑的表示,您甚至可以生成一个巨大的数组来在c++代码中表示它。

也许一个更简单的解决方案是将这些XML文件转换为您的内部表示,并使用一些快速的内存投影机制(如Linux上的mmap)来访问它。

但是您没有解释这些XML文件表示什么,以及以后在应用程序中如何使用它们。

也许我没有正确地解释您的建议,但是听起来您是从XML文件开始的,XML文件描述了一些安装过程需要如何完成。如果你想避免解析xml,可以把它翻译成c++代码,这样就可以编译安装了。

如果要重复执行这个"安装",那么您建议的优化可能是值得的。但是您并没有避免解析XML——您需要解析它以便将它们转换为c++程序!因此,节省的地方在于避免每次运行时重新解析XML,这样做的代价是拥有额外的文件(可执行文件),并且必须在XML更改时重新构建它们。

当然

。如果我误解了情况,就像Roseanne Roseannadanna会说的,"没关系":)

相关文章: