c++ - 与 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
解决方案
这不是“运行”程序,这是“构建”程序。由于必须读取包含文件,这需要很长时间,预处理器和编译器会多次遍历代码,然后是汇编器,最后是链接器。
如果像您的示例中那样构建单个文件需要很长时间,那么您可能会包含一些大量使用预处理器和/或模板魔术的东西,以便在编译时生成大量代码。
推荐阅读
- python - Python - 时间相关系数的微分方程求解器为不同的时间偏移提供不同的动态
- django-crispy-forms - Django 脆皮表单字段类型日期
- c# - LinqKit 无法将类型为“System.Linq.Expressions.InstanceMethodCallExpression2”的对象转换为类型“System.Linq.Expressions.LambdaExpression”
- c# - 用于循环转义 Discord.NET
- python - 从 unet_generator import generator_unet_deconv 运行没有给出名为 unet_generator 的模块
- spring-boot - 无法将默认值设置为 jackson-2.10 中的缺失属性
- java - RecyclerView中的多个倒数计时器滞后
- python - 分别在每个批处理元素上调用 Keras Model.evaluate()
- github - 如何编译 Github 项目(Windows):pdfsizeopt
- reactjs - 使用 Axios withCredentials 在标头中没有 Cookie:true