我看到一些代码,是这样的只有调用另一个函数的函数会减慢速度吗?
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;
}
这似乎是一个令人难以置信的浪费给我,但我想通了中间功能以前可能有两个功能,它可以致电或有一些扩展计划未来。我只是想知道像gcc这样的编译器是否可以检测到这种事情,并消除实际程序中的无用功能,或者如果这种事实际上在运行时会浪费CPU周期?
你问关于gcc具体还是一个理论问题 - 编译器能做到吗? – amit 2012-02-06 23:42:35
是的,我在Mac和一些Linux机器上使用gcc。但我总的来说很好奇,因为我真的很新奇,想知道是否为了保持低水平而做大量的功能是个好主意。 – chinakow 2012-02-07 02:29:47