C++ 编译运行过程

一、程序编译过程

程序编译流程:

预处理->编译->汇编->链接

具体的就是:

源代码(source coprede)→预处理器(processor)→编译器(compiler)→汇编程序(assembler)→目标程序(object code)→链接器(Linker)→可执行程序(executables)

对应的流程图:

C++ 编译运行过程

 

 

二、程序运行过程

将可执行文件交给操作系统(输入文件名,回车)执行、直到程序执行结束的期间,执行的目的是为了实现程序的功能。

分配程序执行所需的栈空间、代码段、静态存储区、映射堆空间地址等,操作系统会创建一个进程结构体来管理进程,然后将进程放入就绪队列,等待CPU调度运行。

对应内存申请空间如下:

C++ 编译运行过程

 

 

三、内存分配的区别

编译期分配内存,就是用静态或全局数组。这是在编译的时候确定的。 

运行期分配内存,就是用malloc()之类的函数,在堆上分配内存。   

原文链接: https://www.cnblogs.com/AntonioSu/p/12196525.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    C++ 编译运行过程

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/191973

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月12日 下午5:53
下一篇 2023年2月12日 下午5:53

相关推荐