如何在不使用太多内存的情况下 link 大量 C++ 目标文件?
How to link a lot of C++ object files without using too much memory?
我正在编写一个在内部使用大量数据的 C++ 程序。这些数据分布在大约 5000 个源代码文件中。当我 运行 make 时,所有这些文件都可以完美地编译为目标代码。但是,当我想 link 将所有内容合并为一个可执行文件时,我的计算机 运行 内存不足。
- 如何将这个任务拆分成更小的任务?例如,是否可以将目标文件的一个子集 link 放入另一个目标文件中,从而减少最终需要 link 编辑的目标文件的数量?
- 在哪里可以了解如何设置超大型项目的编译过程?
非常感谢任何提示。
将您的代码编译成静态库。然后针对库进行编译,该库应仅包含最终可执行文件中所需的内容。
如果您使用的是 GCC,请查看 AR 选项。静态库是一个存档,您可以根据需要组合和提取它。
我正在编写一个在内部使用大量数据的 C++ 程序。这些数据分布在大约 5000 个源代码文件中。当我 运行 make 时,所有这些文件都可以完美地编译为目标代码。但是,当我想 link 将所有内容合并为一个可执行文件时,我的计算机 运行 内存不足。
- 如何将这个任务拆分成更小的任务?例如,是否可以将目标文件的一个子集 link 放入另一个目标文件中,从而减少最终需要 link 编辑的目标文件的数量?
- 在哪里可以了解如何设置超大型项目的编译过程?
非常感谢任何提示。
将您的代码编译成静态库。然后针对库进行编译,该库应仅包含最终可执行文件中所需的内容。
如果您使用的是 GCC,请查看 AR 选项。静态库是一个存档,您可以根据需要组合和提取它。