第14章 预处理及用户配置文件

• 预处理命令通常在程序编译时进行一些符号处 理,其并不执行具体的硬件操作。C51语言中的预 处理命令主要有宏定义指令、文件包指令和条 件编译指令,还有其他一些调试时使用的指令。 本章将详细介绍各种预处理命令以及C51的用户配 置文件,并结合一定的程序实例以加深理解。本 章包括:

  • 宏定义指令

  • 文件包指令

  • 条件编译指令

  • C51编译器的控制指令

  • C51的用户配置文件

14.1 预处理命令概述

• C51语言中提供了各种预处理命令,类似于汇编程序中的伪指令。一般来说,在对源程序进行编译前,C51编译器需要 先对程序中的预处理命令进行处理,然后将预处理的结果与源程序一并进行编译,最后产生目标代码。通过这些预处 理命令,在很大程度上为C51提供功能和符号等方面的扩展,使用预处理命令也可以提高程序的可读性。

  • 为了与源程序中的语句相区

    c语言编译命令的更多相关文章

    1. 14. Go 语言编译与工具

      Go 语言编译与工具 Go 语言的工具链非常丰富,从获取源码.编译.文档.测试.性能分析,到源码格式化.源码提示.重构工具等应有尽有. 在 Go 语言中可以使用测试框架编写单元测试,使用统一的命令行即 ...

    2. [C语言]在命令行编译执行程序

      ----------------------------------------------------------------------------------------- [开始] 1. 在M ...

    3. 不可或缺 Windows Native (4) - C 语言: 预处理命令,输入,输出

      [源码下载] 不可或缺 Windows Native (4) - C 语言: 预处理命令,输入,输出 作者:webabcd 介绍不可或缺 Windows Native 之 C 语言 预处理命令 输入 ...

    4. c语言编译预处理和条件编译执行过程的理解

      在C语言的程序中可包括各种以符号#开头的编译指令,这些指令称为预处理命令.预处理命令属于C语言编译器,而不是C语言的组成部分.通过预处理命令可扩展C语言程序设计的环境. 一.预处理的工作方式 1.1. ...

    5. 不同优化选项对ARM下C语言编译的影响

      我们知道在C语言编译时,有那么几个常用的优化编译选项,分别是-O0,-O1,-O2,-O3以及-Os.之前一直觉得既然是优化选项,顶多是优化一下逻辑,提高一些效率或者减少一下程序大小而已.很少会觉得它 ...

    6. C语言预处理命令总结大全

      C程序的源代码中可包括各种编译指令,这些指令称为预处理命令.虽然它们实际上不是C语言的一部分,但却扩展了C程序设计的环境.本节将介绍如何应用预处理程序和注释简化程序开发过程,并提高程序的可读性.ANS ...

    7. C语言预处理命令详解

      一  前言 预处理(或称预编译)是指在进行编译的第一遍扫描(词法扫描和语法分析)之前所作的工作.预处理指令指示在程序正式编译前就由编译器进行的操作,可放在程序中任何位置. 预处理是C语言的一个重要功能 ...

    8. GCC编译命令常用选项

      GCC是GUN Compiler Collection的简称,除编译程序外,还包含其他相关工具.GCC可将高级语言编写的源代码构建成计算机直接执行的二进制代码.GCC是Linux平台下最常用的编译程序 ...

    9. [转]C语言预处理命令详解

      转载:https://www.cnblogs.com/clover-toeic/p/3851102.html 一  前言 预处理(或称预编译)是指在进行编译的第一遍扫描(词法扫描和语法分析)之前所作的 ...

    随机推荐

    1. 搭建属于你自己的RAMOS系统 – WIN7+VHD+GURB map方式

      前段时间加了一个内存条,将笔记本内存升级到了6G,由于之前用的是32位的win7不可以直接使用6G内存,便装了64位的系统.网上找资源的时候发现,大内存可以使用RamOS,从内存中虚拟出来一个硬盘,然 ...

    2. was性能调优前期准备

      http://www.ibm.com/developerworks/cn/websphere/library/techarticles/0707_wudan/#resources was应用服务器环境 ...

    3. 自定义GridLayout实现条目的拖动动画特效

      1.自定义GridLayout实现增加条目过度动画操作 public class MyGridLayout extends GridLayout { public MyGridLayout(Conte ...

    4. android app 集成 支付宝支付 微信支付

      项目中部分功能点需要用到支付功能,移动端主要集成支付宝支付和微信支付 支付宝sdk以及demo下载地址:https://doc.open.alipay.com/doc2/detail.htm?spm= ...

    5. zoj 2193 poj 2585 Window Pains

      拓扑排序. 深刻体会:ACM比赛的精髓之处不在于学了某个算法或数据结构,而在于知道这个知识点但不知道这个问题可以用这个知识去解决!一看题目,根本想不到是拓扑排序.T_T...... #include& ...

    6. 《JS权威指南学习总结--7.8 数组方法》

      内容要点: 一.join() Array.join()方法将数组中所有元素都转化为字符串并连接在一起,返回最后生产的字符串. 可以指定一个可选的字符串在生产的字符串中来分隔数组的各个元素.如果不指定分 ...

    7. Linux启动新进程的几种方法及比较[转]

      有时候,我们需要在自己的程序(进程)中启动另一个程序(进程)来帮助我们完成一些工作,那么我们需要怎么才能在自己的进程中启动其他的进程呢?在Linux中提供了不少的方法来实现这一点,下面就来介绍一个这些 ...

    8. POJ 1716 Integer Intervals#贪心

      (- ̄▽ ̄)-* //求一个集合,这个集合与任意一个区间的交集,需至少有两个数字 //贪心过程:按n个区间的最右值从小到大对区间进行排列, //集合首先取第一个区间的最右两个数字, //到第二个区间, ...

    9. 浙大pat 1029题解

      1029. Median (25) 时间限制 400 ms 内存限制 32000 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Given an incre ...

    10. PBO

      #include <GL/glew.h> #include <GL/freeglut.h> #include <iostream> GLuint pboID[]; ...