gpt4 book ai didi

c++ - 头文件中的代码会增加二进制大小吗?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:41:05 32 4
gpt4 key购买 nike

考虑一下:

class Foo{
void func1(){
/*func1 code*/

}

void func2(){
/*func2 code*/

}


};

案例 1:Foo.h 中的类 Foo

案例 2:类 Foo 在 Foo.h 和 Foo.cpp 之间很好地分离

其他各种 cpp 文件包括 Foo.h

我的问题是...情况 1 会导致更大的二进制文件吗?

最佳答案

也许会,也许不会。它确实与头文件无关。这里重要的是你的成员函数是在类定义中定义的。当这样定义成员函数时,它们将被视为内联 函数。如果编译器决定不实际内联对这些函数的任何调用,则不会对代码大小产生任何影响。如果编译器决定内联任何(或所有)调用,答案将是“视情况而定”。对小函数的内联调用可能会导致代码大小增加和代码大小减少。这一切都取决于函数本身和编译器的能力(特别是优化能力)。

关于c++ - 头文件中的代码会增加二进制大小吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1576317/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com