注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题
wangfwk的个人空间 https://home.eeworld.com.cn/space-uid-315261.html [收藏] [复制] [分享] [RSS]
日志

预处理命令的学习-uboot学习

已有 839 次阅读2011-4-9 09:10

  预处理命令有以下几种:
     #define--#undef,#include,#ifdef-#else -#endif,#ifndef-#else-#endif,#if-#else-#endif主要命令。
  [1],#define是定义一个标号,可以定义一个标号的值,也可以不定义标号的值(只是定义过):
    如:#define PI 3.1415926 这条语句是定义了一个字符串3.1415926的标号PI。
        #define PI 这条语句只是定义了一个标号,与后面的#ifdef语句相符合。
      在平常很多人会忘记了与#define搭配的#undef,在一般(省略)情况下,它定义的范围是从#define开始到文件的结束,而使用#undef则是使定义的标号的作用范围缩小。
  [2],#include<stdio.h>它包含的文件,一定是在include的文件夹里面,而用#include "li.h"则是在当前代码的文件夹中。两种的搜索范围不一样,前者只是在库文件中查询,而后者最先是在当前文件夹里面查询,如果吧存在的话,再到库文件去查询。如我们学习C语言的时候,经常用到的#include<stdio.h>中的stdio.h在哪呢?不要急,在你安装TC的文件夹下的include文件夹中,一定在那存在。
  [3],#ifdef-#else-#endif是用来判断一个标识是否被定义,在要判断多个标识要被定义时,可以使用#if defined(标识名)的命令。
 defined(标识名),则是判断标识名是否被定义过,如果定义过则返回真值。而其他的#ifndef则是用来判断一个标识名是否没有被定义。
 
这些预编译命令在程序预处理的过程就将他们全部用展开了,只有#include命令不会展开,它会等到链接的过程将库函数链接在一起。
评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

热门文章