问题在于:我想将程序主要用于编译时间,其次是为了便于编写程序。我正在使用我自己编写的“compile.bat”程序包含
g++ -o prog.exe main.cpp -lmingw32 -lSDLmain -lSDL
pause >nul
为了进行编译(MinGW用于标题中所述的编译)但问题是,虽然我可以在“prog.exe”之后轻松添加更多文件用于编译(它是现在一个单文件列表,所以它不是一个列表),我不知道如何预编译一些文件然后编译一个或两个其他文件来完成编译并制作“prog.exe “档案。我遇到了这个想法,因为我正在阅读有关如何通过重新编译您已更改的文件来减少大型程序的编译时间的常见做法。如果这个问题太具体或没有话题或重复,请告诉我。 :¬)
答案 0 :(得分:3)
您需要了解如何使用某些构建器程序(请参阅build automation),例如GNU make。您将通过Makefile
(here是一个示例)来描述您的构建,make
将检查时间戳并仅重新编译所需内容(根据规则和依赖关系)你的Makefile
等等......)。
有几种替代构建器(例如omake,scons)并且存在Makefile
个生成器(例如cmake,automake)
对于一个包含几十个文件的小项目,我建议您自己编写Makefile
代码(而不是使用任何Makefile
生成器)。使用特定于最近GNU make
的特征,甚至可能是guile脚本性。
依赖规则应描述头文件inclusion。 g++
的{{3}}应该很方便生成它们。
查看与您类似的现有-M
preprocessor options的源代码,以获取灵感。