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

Why does running a C++ program using Cmake takes so long each time compared to Java and Python?

本文关键字:长时间 程序 C++ Python Java 相比 运行 Cmake 使用 为什么      更新时间:2023-10-16

在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

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

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

相关文章: