Jos*_*son 5 c
关于C中的"静态",它是如何由编译器实现的?
这是彭博采访问题.有什么想法吗 ?
Oli*_*rth 3
[[我假设我们static在这里讨论的是变量的上下文,因为static函数只是一个编译/链接时的东西,没有运行时的影响。]]
static
简而言之,它是特定于实现的。编译器可以自由地做它选择的任何事情。
通常(但绝不排他),静态数据存储在可执行映像的固定位置的.bss或.data部分中。这具有性能优势,因为可以使用文字地址访问它们,而不是指针取消引用(就像基于堆栈的变量的情况一样)。由于这是二进制文件的一部分,这也意味着首次加载可执行文件时初始值会自动映射到内存中;不需要初始化例程。
归档时间:
15 年 前
查看次数:
1129 次
最近记录: