【发布时间】:2016-05-02 15:37:28
【问题描述】:
我试图找出在应用程序或进程运行并专门运行命令delete[] X 时实际执行这些操作的组件或模块(可能属于操作系统?)。
我的问题是在我阅读了delete[] X 之后提出的,我知道编译器有责任(根据其实现)知道要删除多少X 的对象。但是,编译器在运行时不是“活动的”!我的意思是,在编译时,编译器不知道用户在新命令中需要多少内存,所以在删除时也不知道,那么程序实际运行时在运行时实际发生了什么?
我读到的答案之一是所谓的运行时系统,它是什么?它是否连接到 CPU - 因为 CPU 最终会执行命令......或者可能是操作系统?
我看到的另一个答案是“由系统的分配器完成”(How does delete[] know how much memory to delete?) - 这个组件(操作系统、CPU)又在哪里?
【问题讨论】: