了解 C++ 的人可能知道我所说的“统一构建”是什么意思:
- 项目的 *.cpp 文件都被有效地#include编辑到单个超大源文件中,遵循*.cpp 和 *.h 文件中指定的#include 指令
- 这个源文件被送入编译器
- 结束!你得到输出二进制文件!
这样做意味着中间文件 (*.o) 更少,文件读取和磁盘 IO 开销更少,编译器调用更少,从而获得更好的构建性能。
我的问题是,这对乳胶有可能吗?我想要它,因为在使用 pdflatex 构建我的最终 .pdf 之前,我想在 .tex 文件上运行一个缓慢的后处理过程。目前,处理我不断增长的 .tex 文件列表大约需要 7 秒。我相信在一个文件上运行这个过程会明显更快。这激发了我的问题!
总而言之,我想
- 按照每个 .tex 文件中的\input{} 和 \include{}宏将所有 .tex 文件“合并”成一个超大质量的 .tex 源文件
- 将超大质量 .tex 源文件输入到慢速后处理通道(实际上是 Ott tex-filter,fyi)
- 将输出直接通过管道传输到pdflatex
- 结束!我得到了输出 PDF 文件!
第一步就是这里的问题。欢迎任何想法。如果我不需要编写自己的脚本来执行此步骤,那就最好了!
非常感谢!