作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
当像 c 程序可执行文件 a.out 这样的进程运行时,RAM 中应该存在哪些程序元素?程序代码也在吗?如果是,需要什么?
最佳答案
是的,当 a.out 运行时,代码 a.out 存在于内存中。指令指针(或寄存器)指向内存中正在执行的当前操作,大多数操作还会将指令指针提前到下一个操作。虽然,如果您所说的代码是指原始 C 代码,但情况并非总是如此——只有组装后的可执行字节码必须在内存中。编译器/链接器有一些标志,可以将 C 代码包含在汇编的输出可执行文件中,从而使调试更容易。
如果我们谈论的是进程的虚拟内存空间,这还将包括一些内存映射的 io 寄存器、一些内核空间函数和程序所需的任何库(至少 libc 用于您的通用类型操作).
关于c - 主存中的程序元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8937667/
我是一名优秀的程序员,十分优秀!