zoukankan      html  css  js  c++  java
  • 宏定义

    在Linux kernel的代码中,宏定义使用的频率非常的高,宏定义有很多好处,提高程序的可读性,可扩展性,方便修改代码.

    宏定义名通常大写,大致分为

    一,普通常量

    #define SIZE 1

    这个是简单的把难记的常量取一个好记又表示作用的名字

    二,表示字符串

    #define STR(x)  #x

    这个宏替换的时候会把STR里面的内容转化为字符串.如STR(gcc$C)="gcc$C";

    三,类似数组

    #define ABC(x) find##x    //可以变成类似与数组的变量

    ,定义函数或者函数指针

    定义简单的函数:#define MAX(a,b) ((a)>(b)?(a):(b))

    定义函数指针:

    #define SHOW(str)  show(str)

    void show(int str){
    printf("%d ",str);
    }

    ----------------------------------------------------------------------------

    系统预定义的宏
    __FUNCTION__       //表示当前的使用该宏的函数
    __LINE__         //表示当前该宏出现的行号
    __FILE__         //表示当前宏出现的文件名


    为了调试方便有些调试信息需要按需求打开和关闭,使用
    #ifdef A
    .....
    #dendif 来进行控制

    当已经预定义了名为a的宏则调试打开,否则不进行编译这一段代码,可以用gcc -DA1 来进行添加 -D直接加宏名和值

  • 相关阅读:
    c++虚函数表 Brew VTBL
    c++ 类数据成员的定义、声明
    变量声明和定义的区别
    C++ 对象间的赋值与拷贝构造函数
    Android应用程序构成
    android平台的技术架构
    认识Service
    Application的作用
    Context的作用
    如何切换到自定义的Activity
  • 原文地址:https://www.cnblogs.com/CHYI1/p/5394383.html
Copyright © 2011-2022 走看看