C语言基础概念

环境

翻译环境

作用:源代码被转换为可执行的机器指令

翻译阶段步骤:

  1. 一个程序的每个源文件通过编译分别转换为目标代码(Object code)
  2. 各个目标文件由链接器(linker)捆绑在一起,形成一个单一可执行的程序      注:linker不仅会引入C标准库在该程序中用到的函数,也会引入用户自定义库中的函数。

编译阶段步骤:

  1. 预处理器处理:在源代码中进行相关文本操作,如用真值代替#define定义的符号和#include包含的内容
  2. 源代码进行解析(parse):判断语句的意思,大多数的错误和警告均出现于此阶段
  3. 生成目标代码          注:如果编译命令中加入优化的选项,那么优化器就会对目标代码进一步进行处理,使其效率更高。 在程序调试完毕生成产品之前,一般不进行优化。

编译和链接相关命令(Unix):

  1. 编译并链接一个完全包含于一个源文件的C程序:cc program.c       注:中间生成的目标文件在链接完成后自动删除
  2. 编译并链接几个C源文件:cc main.c sort.c lookup.c
  3. 编译一个c源文件并将其和显存目标文件进行链接: cc main.o lookup.o sort.c
  4. 编译单个C源文件: cc -c pogram.c
  5. 编译几个C源文件,并为其各自生成一个目标带码: cc -c main.c sort.c lookup.c
  6. 链接几个目标文件:cc main.o sort.o lookup.o
  7. 产生可执行程序的命令均可加上“-o name”选项,从而将执行文件保存为name.out中

执行环境

作用:用于实际执行代码

执行步骤

  1. 程序会载入到内存(宿主环境:这个过程由操作系统完成,那些不在堆栈中存储且无处置的变量将取得初始值。   独立环境:手工安排,可能是把可执行代码置入只读内存(ROM)来完成)
  2. 程序开始执行:系统有一个小型启动程序和程序链接在一起,负责处理日常事务,如收集命令行参数以便程序能访问它们。接着,调用main函数。
  3. 执行程序代码:运行时堆栈,用于存储函数的局部变量返回地址静态内存,静态变量中的值在程序运行过程中一直保存。
  4. 程序终止:正常终止和非正常终止

词法规则

字符

转义字符:

  1. \a 警告
  2. \b 退格
  3. \f 进纸
  4. \n换行
  5. \f回车、
  6. \t水平制表
  7. \v垂直制表
  8. \ddd 表示1-3个八进制数字
  9. \xddd 十六进制数

注释

/*               */  注:注释不能嵌套

 

转载于:https://www.cnblogs.com/semie/p/10594410.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值