C语言的预编译

来源:互联网 发布:plc编程师工资高吗 编辑:程序博客网 时间:2024/05/17 20:00

    由 源代码 到 可执行 的过程包括四个步骤:预编译 编译 汇编 链接 所以 首先就应该清楚的首要问题就是预编译只是对程序的文本起作用,换句话说就是,预编译阶段仅仅对源代码的单词进行交换,而不是对程序中的变量 函数等

   预编译指令的基本知识不作详细介绍,只稍作汇总,重点是后面的我能想到的使用时注意事项

 

1:基本内容

     预编译命令基本内容分类如下:

     预定义符号:  指令 _FILE_ _LIN_  _DATE_  ,

    宏                 #define

   文件包含     #include

   条件编译   #if  #else if   #ifdef #ifndef

 

  指令的名称以及 功能列表:

  #     控制令

 #under   移除一个空定义

#error   停止编译  并生成错误信息

#line     修改_LINE_ 和 _FILE_ 的值

#progma   允许编译器提供额外功能

在定义宏的时候  有两个运算符

 

#     将宏参数转换为字符串

 ##  将多个符号连成一个标识符

 

2 宏定义:

  (1):一般在宏定义的结尾不加分号

               我们在使用的时候,要加上分号,像我们平时写的语句一样

  (2):注意加括号

              在有参数的空定义中,如果含有数值运

              在有参数的空定义中,如果含有数值运算,那么就要在“宏整体”和“宏参数”两端都要加上括号。
        如:#define max(a, b) ((a)+(b)); 

   (3)注意空格

      在有参数的宏定义中,注意“宏名称”和“参数列表”之间不能有空格
        如:#define max (a, b) ((a)+(b));  在"max”和”(a, b)”之间不能有空格。

 

 

 

2  文件的包含:

   (1)要将头文件的定义在保护条件中

            目的是为防止重复包含头文件

   (2)注意windows 和 Unix 系统的路径不同

           可以在#include 中指定路径来包含 文件,例如#include

 

http://blog.csdn.net/daheiantian/article/details/6243993

原创粉丝点击