在我的 C 项目中,我正在从一个 obj 文件和一个用于 opengl 的图像文件中读取数据。所有数据合并到 1 个头文件中。
示例(伪代码):
vertices = {
0 , 2, 4,
....
};
normals = {
0, 0, 0,
....
};
texture_pixels = {
0, 0, 0
...
}
问题是所有这些数据加起来就是一个 15mb 的 header 。有这么大的标题是个坏主意吗?这会导致我的程序出现任何问题吗?
最佳答案
是使用大头文件还是使用其他方法取决于应用程序。
头文件是在编译时处理的。如果文件不经常编译,或者编译时间快到可以接受,则没有问题。
如果头文件即使在其部署配置中也经常更新(比如每天不止一次),也许可以重新设计程序以从网络、SD 卡、磁盘或其他设备的数据文件中读取等效数据你有什么。
数据文件有其自身的弱点:
- 它们是与可能需要保持同步的程序可执行文件不同的独立部分。
- 文件格式受大端与小端问题的影响,除非它以某种字符格式(如 XML)编码。
- 程序应该如何找到数据?命令行参数、硬编码路径等
- 如果找不到文件,怎么办?
关于c++ - C/C++ 巨大的头文件/源代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25705728/