gpt4 book ai didi

c++ - 编译器是否可以生成代码以在执行期间卸载部分代码段?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:06:07 25 4
gpt4 key购买 nike

除了提供在运行时加载/卸载方法或函数的能力的 Dll 概念之外,我想知道编译器是否可能会说这样的话,好的,因为代码的这个特定部分在代码中占用了大量空间段并且在程序执行期间的这一点之后永远不会再次使用,最好生成一些代码以在程序执行期间到达特定点后卸载代码段的那部分,以便代码段占用的整体空间变小。这只是虚构的还是可能会发生?

最佳答案

当然。有一种技术叫做 overlaying在不同的时间将不同的代码加载到地址空间的同一位。有时它是手动完成的,有时是编译器帮助完成的。有时加载是在软件中完成的,有时是在硬件中完成的(使用地址多路复用,例如在启动期间,地址空间的一位从 ROM 芯片读取,但在启动后它切换到地址 RAM 或不同的 ROM)。

当计算机内存较少时,覆盖更为常见,例如在 DOS 的早期,你最多只有 640K,而且通常甚至没有。如今,它仍然有用于内存和/或地址空间非常宝贵的嵌入式系统的应用程序。

关于c++ - 编译器是否可以生成代码以在执行期间卸载部分代码段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3798017/

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