首页 > 解决方案 > 与 Java 和 Python 相比,为什么每次使用 Cmake 运行 C++ 程序都需要这么长时间?

问题描述

在 Java 和 Python 中,一旦构建了骨架,以后的运行就不需要这么长时间了。我正在使用 CLion。有什么我想念的吗?我每次运行都会看到以下消息,大约需要 1 分钟。谢谢

Scanning dependencies of target adaboost_star_over_zdds
[ 20%] Building CXX object CMakeFiles/adaboost_star_over_zdds.dir/main.cc.o
[ 40%] Linking CXX executable adaboost_star_over_zdds.exe
[100%] Built target adaboost_star_over_zdds

Build finished

标签: c++boostcmake

解决方案


这不是“运行”程序,这是“构建”程序。由于必须读取包含文件,这需要很长时间,预处理器和编译器会多次遍历代码,然后是汇编器,最后是链接器。

如果像您的示例中那样构建单个文件需要很长时间,那么您可能会包含一些大量使用预处理器和/或模板魔术的东西,以便在编译时生成大量代码。


推荐阅读