gpt4 book ai didi

c++ - 为什么要在 PE 文件中创建不同的代码/数据/bss 部分?

转载 作者:太空宇宙 更新时间:2023-11-04 08:23:01 25 4
gpt4 key购买 nike

作为对可执行文件格式有粗略了解的人,我发现 MSDN 文档中的以下 #pragma 指令非常有趣:

将某些变量和函数体放在 PE/OBJ 文件中与默认部分不同的 .section 到底有什么好处?

最佳答案

嗯,传统上文字是常量(例如 static const char* const = "hello world";),部分原因是它们位于 const_seg 区域,如果它们位于 data_segbss_seg 中,它们可能是可变的(尽管由于显而易见的原因不能就地调整大小)。

另一个原因(以同样的方式)可能是在编译时预初始化一个复杂的数据结构,但允许它在运行时被操作,例如一个大的已知值哈希表,尽管这需要编译器-支持。

关于c++ - 为什么要在 PE 文件中创建不同的代码/数据/bss 部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32533447/

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