[轉]几个常用到的macro 宏

几个常用到的macro 
1、macro
 (1)#error msg指令使編譯器停止執行並打印一條語句,
 (2)printf(“%d,%s”,_LINE_,_FILE_)打印當前行號和文件名
 (3)#pragma arg設置了編譯器所使用的條件.
 (4)#str將字符串放入被引號括起來的字符串中,如:
 #define pr(s) puts(#s)
 pr(hello world);->puts(“hello world”);
 (5)將兩段文字拼接在一起,如:
 #define call(verb,adj,do) verb##_##adj(do)
 call(shrink, all, trees);->shrink_all(trees);
 #define SIGNAL(x) “SIGNAL:” #x
 SIGNAL(finishedParsing()) 
2、給結構賦初值
 struct AAA
 {
  AAA():a(10){}
  int a;
  int b;
 };
3、使用macro批定義變量
#define STR_EACH_DECLARE(macro)
 macro(age)
 macro(name)
#define STR_DECLARE(name) char name ## Str;
STR_EACH_DECLARE(STR_DECLARE)
void main()
{
 int a=1;
 nameStr=’a’;
 ageStr=’b’;
}
4、定位參數
5、指針和常量
const type *
type const *
type * const
6、友元函數和友元類
7、拷貝構造函數和賦值語句
8、#pragma once 

未經允許不得轉載:GoMCU » [轉]几个常用到的macro 宏