目录
简述:本文就程序的两种环境、一些预处理指令、#define进行解读,通过本篇文章可以对其内容进行基础掌握。其中含一些细小的知识点也需掌握,望仔细阅读。
程序的两种环境 - 翻译环境&&执行环境
在ANSI C的任何一种情况,均存在两个环境,即翻译环境和执行环境
其中翻译环境是将源代码转换成机器可执行指令 执行指令就用于执行代码
翻译环境
如图 源文件经过编译器编译转换成目标文件,链接库会搜索标准C函数库所有被程序应用的函数 并且还会搜索程序员个人的程序库,之后链接器会链接所有目标文件和链接库生成可执行程序。
编译环境分阶段解读
一个常用的知识点是: 监测函数未定义是在链接阶段
运行环境
1. 程序必须载入内存中。在有操作系统的环境中:一般这个由操作系统完成。在独立的环境中,程序的载入必须由手工安排,也可能是通过可执行代码置入只读内存来完成。
2.进而程序便开始执行 调入main函数
3. 开始执行程序代码。这个时候程序将使用一个运行时堆栈(stack),存储函数的局部变量和返回地址。程序同时也可以使用静态(static)内存,存储于静态内存中的变量在程序的整个执行过程一直保留他们的值。
4.终止程序。正常终止main函数;也有可能是意外终止
预处理详解
预定义符号
语言内置了一些预定义符号 如常用的