我写了以下代码:
#include <iostream>
using namespace std;
int f()
{
cout << "f()" << endl;
return 3;
}
int v()
{
cout << "v()" << endl;
return 4;
}
int main()
{
int m = f(),v();
cout << m << endl;
return 0;
}
我希望它打印出来:
f()
v()
3
编译g++ -O0 test.cpp -o test.out
并运行结果:
f()
3
为什么省略了对 v 的调用?(这不能用于优化,因为我添加了标志-O0
)