开发平台(Platform): (Ex: VC++, GCC, Linux, ...)
GCC
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
问题(Question):
void foo(){
static int x;
}
int main ()
{
foo();
return 0;
}
问题是这样的。 在foo function 中,static 变量x ,会被放在
memory 的 data section 中(或是有些人说的golable 区域中)。
问题: foo() return 后,从stack 里移除之后。
1. 就我知道,static 变量x ,仍然还在data section 里面。
x 位址仍然有效。
2. 如果上面的想法是对的。 那这样如果一个大程式,
我看很多fucntion 都用static 变量在做事。这样不是data section 越长越大,
没人清那些垃圾?这样是对的吗?
请教了。
谢谢
喂入的资料(Input):
预期的正确结果(Expected Output):
错误结果(Wrong Output):
程式码(Code):(请善用置底文网页, 记得排版)
补充说明(Supplement):