Visual Studio Community 2017编译提示含义及编译修改有效性咨询
关于VS2017编译提示“1 functions had inline decision re-evaluated but remain unchanged”的解答
嘿,我来帮你把这个问题拆解清楚:
一、这个提示的具体含义
这个信息属于编译器优化阶段的日志输出,和内联函数优化直接相关:
- 当你开启了编译优化(比如项目设置里的
/O1、/O2级别),编译器会自动分析哪些函数适合做内联——也就是把函数代码直接嵌入调用位置,减少函数调用的额外开销。 - 这句提示的意思是:编译器重新评估了某个函数的内联可行性,但最终维持了原来的内联决策(要么之前就决定内联现在依然内联,要么之前不内联现在还是不内联)。
- 它只是一个信息性的提示,既不是错误也不是警告,完全不会影响程序的功能或运行结果。
二、Visual Studio 2017是否在编译你的修改内容?
当然在编译!
这个提示本身就是编译过程中输出的日志,说明编译器正在处理你的代码。VS默认会启用增量编译,只会重新编译你修改过的文件/代码段,这个优化日志就是编译正常进行的证明,不用担心你的修改被跳过。
小补充
如果觉得这类细节日志太繁琐,你可以调整项目的输出详细程度:
- 右键项目 → 属性 → 配置属性 → C/C++ → 常规
- 将“输出详细信息”从“诊断”(默认可能是这个级别)调低到“正常”或“简洁”,就不会再看到这类优化相关的细节提示了。
内容的提问来源于stack exchange,提问作者msc




