chi*_*kow 4 c compiler-construction compiler-optimization
我看到一些类似的代码
int *func2(int *var) {
//Do some actual work
return var;
}
int *func1(int *var) {
return func2(var);
}
int main() {
int var;
var = func1(&var);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这对我来说似乎是一种令人难以置信的浪费,但我认为中间功能可能以前有两个可以调用的功能,或者将来有一些扩展计划.我只是想知道像gcc这样的编译器是否可以检测到这种情况并消除实际程序中的无用功能,或者这种事情是否真的浪费了运行时的CPU周期?