微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

实例化C类时,内存中会发生什么

我对C的坚果和螺栓感兴趣,我想知道实例化对象时实际发生了什么变化.我特别感兴趣的是,如果函数随后被添加到内存中,如果它们来自运行时,或者根本不存储在内存中.

如果有人能指导我在一些C和C的核心螺栓上找到一个好的网站,我也会喜欢它.

谢谢,

解决方法

一个常见的情况是:

>通过调用operator new来分配内存.这个功能很可能已经在内存中,需要很多.
>调用类的构造函数.这段代码已经存在于内存中.如果没有,则调用函数页面 – 出错.操作系统会记录并将可执行文件中的相应页面加载到RAM中.然后它告诉操作系统重试.
(2A.ctor安排虚拟函数调用 – 通常通过编写vtable指针)
>可能是带有构造函数页面还包含类的其他成员.那些也可以被称为.但是如果它们在另一个页面上,则调用它们可能会导致另一个页面错误和另一个负载.如果您的编译器将vtable放在不同的页面上,则使用该vtable也可能导致页面错误.

这种按需加载机制的优点是,如果用户从不打算打印他的文档,OS可以避免加载类CPrinter的代码.

原文地址:https://www.jb51.cc/c/110599.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐