gpt4 book ai didi

c - 在C中,函数是在第一次调用时加载到内存中还是在程序启动时加载到内存中?它可以从内存中卸载吗?

转载 作者:太空狗 更新时间:2023-10-29 15:17:51 26 4
gpt4 key购买 nike

例如:

如果我有一个名为 void Does_Stuff(int arg) 的函数并在主函数中调用它,void Does_Stuff 是否仅在首次调用时加载到内存中?还是在程序初始化时加载到内存?

然后在main中调用Does_Stuff后,我可以手动从内存中卸载它吗?

作为引用,我运行的操作系统是 Windows 7,我正在使用 MinGW 进行编译。

最佳答案

简单来说(带有通常依赖于各种平台的警告),您的普通全局 C 函数的代码在程序加载时“加载到内存中”。您不能请求将其“卸载”。

也就是说,正如 Hans 在评论中提到的那样,较低级别的操作系统负责哪些内容重要到足以出现在物理 RAM 中,并且可以选择“分页” out”不经常使用的内存。这不是按功能进行的,并且不了解您的代码结构。因此,从这个意义上说,函数的代码可能发生在不同时间是否存在于实际 RAM 中。但这是低于应用程序执行的级别,其中 C 函数始终“存在且可用”。

关于c - 在C中,函数是在第一次调用时加载到内存中还是在程序启动时加载到内存中?它可以从内存中卸载吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21009361/

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