C语言:整体运行流程
来源:互联网 发布:好学近乎知水印 编辑:程序博客网 时间:2024/06/08 19:03
在ANSI C的任何一种实现中,存在两种不同的环境:
一、翻译环境,在这个环境里,源代码被转换为可执行的机器指令;
二、执行环境,它用于实际执行代码。
翻译阶段由几个部分组成:
一、组成程序的每个(有可能有多个)源文件通过编译过程分别转换为目标代码(object code)。
二、各个目标文件由连接器(linker)捆绑在一起,形成一个单一而完整的可执行程序。
编译过程又由几个阶段组成:
一、预处理器(preprocessor)处理,在这个阶段,预处理器在源代码上执行一些文本操作。例如,用实际值代替由 #define 指令定义的符号以及读入由 #include 指令包含的文件的内容。
二、源代码经过解析(parse),判断它的语句的意思,这个阶段是产生绝大多数错误和警告信息的地方,随后便产生目标代码。
编译过程流程图如下:
执行阶段由几个部分组成:
一、程序必须载入到内存中。在宿主环境中(也就是具有操作系统的环境),这个任务由操作系统完成。那些不是存储在堆栈中的尚未初始化的变量将在这个时候得到初始值。
二、程序执行。在宿主环境中,通常一个小型的启动程序与程序链接在一起。它负责处理一系列日常事务,如收集命令行参数以便程序能够访问它们。接着调用main函数,执行程序。
三、程序执行的最后一个阶段就是程序的终止。它可以由多种不同的原因引起。“正常”终止就是main函数返回。也有可能是由用户按下break键或者电话连接的挂起而终止,也有可能在执行过程中出现错误而自行中断。
0 0
- C语言:整体运行流程
- Redis源码整体运行流程详解
- Redis源码整体运行流程详解
- Redis源码整体运行流程详解
- MapReduce作业运行流程整体分析
- ucos在s3c2410上运行过程整体剖析之基础知识-c语言和堆栈
- ucos在s3c2410上运行过程整体剖析之基础知识(2)-c语言和堆栈 .
- 整体流程
- 通俗易懂学C语言-02-C语言程序长啥样以及运行流程
- Redis源码学习笔记(一)-- 整体运行流程详解
- C语言编译流程
- C语言流程控制
- C语言逻辑流程
- C语言开发流程
- C语言编程流程
- C语言编译流程
- C程序的运行流程
- 解释运行c语言
- 测特定指令执行时所需消耗的时间及系统资源
- VirtualBox开启显卡3D加速
- 【Java多线程】之二:Java Thread Sleep Example
- C程序中,strlen是求取字符串长度,若对整形数组,求取的是什么?还有整形数组作函数参数的问题?
- 字符串加解密
- C语言:整体运行流程
- OTL、OCL、BTL电路及其判断方法
- ARC内存管理1
- 关于蓝牙
- jquery的post提交---$.post
- ListView多级子菜单的实现
- Android 控件自动换行
- 程序员面试宝典(第四版)——读书笔记-3、第七章:指针与引用
- 电脑识别