小编chi*_*kow的帖子

只调用另一个函数的函数会减慢速度吗?

我看到一些类似的代码

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周期?

c compiler-construction compiler-optimization

4
推荐指数
1
解决办法
1129
查看次数