【发布时间】:2014-01-09 00:18:54
【问题描述】:
例如:
如果我有一个名为void Does_Stuff(int arg) 的函数并在主函数中调用它,那么 void Does_Stuff 是否仅在首次调用时才加载到内存中?还是在程序初始化时加载到内存中?
在main中调用Does_Stuff后,我可以手动从内存中卸载它吗?
作为参考,我正在运行的操作系统是 Windows 7,并且我正在使用 MinGW 进行编译。
【问题讨论】:
-
这取决于操作系统。
-
按需分页虚拟内存操作系统的工作是在调用时将代码加载到 RAM 中。你没有做任何帮助,它是自动的。当你使用 [c] 标签时,你不应该谈论这些细节。尤其是当您不提及执行代码的操作系统时。
-
是的,这是我们喜欢隐藏的肮脏小秘密之一。
-
@HansPassant:问也无妨。