gpt4 book ai didi

x86 - 静态存储(moSTLy数据段)会导致段错误吗?

转载 作者:行者123 更新时间:2023-12-04 19:59:39 25 4
gpt4 key购买 nike

static 存储在编译时决定。然而,考虑一下我们在函数中有很多惰性初始化的场景:

void foo ()
{
static int a[1000];
}

我不是在这里讨论编码实践,而是技术方面。由于许多这样的其他函数,如 foo() 被执行,那些许多static 变量将被引入数据段。

在为数据段分配空间时,编译器是否也会在帐户中进行惰性初始化。如果'否'那么,它会在代码执行时在运行时导致段错误吗? (当 template 方法中有大量 static 数据时更有可能发生)。

最佳答案

仅仅因为初始化是惰性的,分配就不是。该标准要求所有静态变量(包括局部变量)在程序开始前进行零初始化。事实上,静态的意思就是(在这种情况下):变量的空间在程序的整个生命周期中都存在。

关于x86 - 静态存储(moSTLy数据段)会导致段错误吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6662106/

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