全局变量初始化优化

har*_*ari -1 c optimization global-variables

默认情况下,全局变量初始化为"0".

当我明确地为其赋值"0"时,它会产生多大的差异(如果有的话).

他们中的任何一个是更快/更好/更优化?

我尝试了一个小样本.c程序,但我没有看到可执行文件大小的任何变化.

编辑:0我只想了解行为.它在任何方面都不是我的瓶颈.

Pra*_*ian 5

您的问题的答案是特定于实现的,但通常所有未初始化的全局变量和静态变量最终都在.bss段中.显式初始化的变量位于其他一些数据段中.在执行之前,程序加载器将复制这两个main().因此,显式初始化为零之间和将变量保持为未初始化之间不应存在任何性能差异.

IMO最好将全局和静态显式初始化为零,因为它清楚地表明预期零初始值.