zoukankan      html  css  js  c++  java
  • Linux学习---条件预处理的应用

    预处理的使用:

      ⑴包含头文件  #include 

      ⑵宏定义  #define     替换,不进行语法检查

        ①常量宏定义:#define 宏名 (宏体) (加括号为防止不进行语法检查而出现的错误)

          eg:#define ABC 5+3

            printf(""the %d ,ABC*5);  //5+3*5  只进行替换,进行语法见检查,一般加括号来防止出现上述问题。

          eg:#define ABC (5+3)

         ②函数宏定义: #define ABC(X)  (5+(x))    //X的括号也应该加上,原因同上。

      ⑶ 条件预处理:

        #ifdef  #else  #endif

        eg:

     1 #include <stdio.h>
     2 
     3 int main (){
     4     
     5 #ifdef    ABC        //检查是否有ABC该宏定义。 有即为真,无为假。 
     6     printf("sssss");
     7 #endif
     8     
     9     return 0;
    10 } 

      注:有两种方法解决:一为添加宏定义ABC

                二为编译时添加-D命令进行处理:gcc -DABC  等同于在文件内声明:#define ABC.

      ⑷预定义宏

        ①__FUNCTION__  //函数名

        ②__LINE__    //行号

        ③__FILE__    //文件名

        eg:

    1 #include <stdio.h>
    2 
    3 int main (){
    4         printf("%s,%s,%d
    ",__FUNCTION__,__FILE__,__LINE__)  ;
    5 }
    6 //输出结果为:main(所在函数名),当前文件名,4(行数)

      

  • 相关阅读:
    函数名的应用/列表推导式
    装饰器/内置函数
    函数的基础
    文件的改的操作
    常用str
    python 定时器 timer QTimer
    Python 2.7.16 pyinstaller3.0 生成exe可执行文件
    python 根据excel单元格内容获取该单元格所在的行号
    python 实现仪器LAN口通信(FLUKE 8846)
    VS2019 MSB8041 MSB8042 Error
  • 原文地址:https://www.cnblogs.com/BANLOONG/p/10442359.html
Copyright © 2011-2022 走看看