Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/164.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何配置完整的C++;建造? 我在Windows XP开发了一个C++应用程序,使用Eclipse作为IDE,并基于MaFag文件构建系统(用定制工具生成MaxFrm文件)。此外,我使用LZZ,它允许我编写一个文件,然后将其拆分为一个头文件和一个实现文件。我正在使用TDM的GCC4端口_C++_Eclipse_Makefile_Profiling_Build Process - Fatal编程技术网

如何配置完整的C++;建造? 我在Windows XP开发了一个C++应用程序,使用Eclipse作为IDE,并基于MaFag文件构建系统(用定制工具生成MaxFrm文件)。此外,我使用LZZ,它允许我编写一个文件,然后将其拆分为一个头文件和一个实现文件。我正在使用TDM的GCC4端口

如何配置完整的C++;建造? 我在Windows XP开发了一个C++应用程序,使用Eclipse作为IDE,并基于MaFag文件构建系统(用定制工具生成MaxFrm文件)。此外,我使用LZZ,它允许我编写一个文件,然后将其拆分为一个头文件和一个实现文件。我正在使用TDM的GCC4端口,c++,eclipse,makefile,profiling,build-process,C++,Eclipse,Makefile,Profiling,Build Process,我可以使用什么工具或技术来确定构建过程的每一部分需要多少时间,以及为什么它很慢 特别令人感兴趣的是: make需要多少时间来解析makefile、找出依赖项、检查时间戳等 Eclipse在构建之前和之后需要多少时间 GCC在解析系统和boost头文件上花费了多少时间 p.S.:这是我的家庭项目,所以昂贵的工具对我来说是遥不可及的,但如果它们特别相关,可以在这里记录下来。如果您使用的是boost,很可能大部分时间都花在模板实例化和后续优化上。您可以告诉GCC报告所花费的时间,-time rep

我可以使用什么工具或技术来确定构建过程的每一部分需要多少时间,以及为什么它很慢

特别令人感兴趣的是:

  • make需要多少时间来解析makefile、找出依赖项、检查时间戳等
  • Eclipse在构建之前和之后需要多少时间
  • GCC在解析系统和boost头文件上花费了多少时间

p.S.:这是我的家庭项目,所以昂贵的工具对我来说是遥不可及的,但如果它们特别相关,可以在这里记录下来。

如果您使用的是boost,很可能大部分时间都花在模板实例化和后续优化上。您可以告诉GCC报告所花费的时间,
-time report
(UNIX选项,可能是Windows GCC上的其他选项)


如果您试图加快编译速度,请禁用优化,
-O0
(最后一个字母是数字零,第一个字母是大写字母o)

因为Make和GCC对它们所做的事情非常详细,获取所用时间的高级概述的一种非常粗略的方法是通过一个脚本来传递make的输出,该脚本在每一行上加上时间戳:

make | perl -MTime::HiRes -pe "printf '%.5f ', Time::HiRes::time()"
(我以前是这样做的,但据我所知,现在可能是Windows推荐的Perl版本。)

根据您的喜好重新格式化或处理时间戳

要获得有关GCC的更多详细信息,请使用
--time report
选项

要了解Eclipse增加了多少开销,请使用秒表对Eclipse和命令行中的构建进行计时。

试试看,这是一个免费的gmake/nmake替换,可以为构建中的每个作业生成带有精确计时信息的带注释的构建日志。您可以将该文件加载到SparkBuild Insight中,以获得时间流逝的图形概览


有关如何使用它的示例,请参阅。

有一个名为GNU make的版本,它提供了评测信息