c++程序在编译时的大量数据
Huge data in C++ program during compile time
我有大约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会说的,"没关系":)
相关文章:
- 如何创建从Maya(或类似程序)到虚幻引擎的自定义数据导出插件
- 更改.cpp程序的输入文件中数据的位置会意外更改输出
- PC中的程序和PHONE中的本机描述应用程序之间的数据连接
- 我的程序没有从文件中读取并输入数据
- 我的程序有一个保存配置文件的GUI,如何双击此配置文件以直接加载带有配置数据的GUI?
- 员工测试驱动程序数据结构
- 如何在不破坏现有应用程序的情况下更改 API 中 stl 容器的数据类型?
- 为什么当我尝试搜索双链表中第一个数据条目之外的数据时,程序崩溃了?
- 在 1 个服务器 n 客户端套接字 C++ MFC 应用程序中更新数据的客户端
- 错误: 无效使用非静态数据成员"应用程序::应用程序构造函数"
- 为 Sql 服务器实现 odbc 包装器.将数据库数据读取为字符或要求驱动程序将数据转换为 C 类型
- 将数据从C++程序发布到弹性搜索
- 数据库连接并将数据从C ++程序保存到MySQL
- boost::asio 不会触发读取处理程序,而 Wireshark 会看到传入的数据
- C++,在对象内分配多个数据时,堆栈分配是否更有效? 在下面的程序中,类A_Heap的效率会更低吗?
- 更改应用程序数据的路径
- 在 C++17 中,是否未定义使用无锁原子学保护从信号处理程序传递的数据?
- 如何安装性能数据帮助程序
- 使用 pipe() 和 fdopen() 将数据从 Python 脚本传递到 Windows 中的C++应用程序
- 需要解决在Storm数据程序中读取Makefile的问题