天天看點

C語言宏函數

1.#define Conn(x,y) x##y

        表示x連接配接y。舉例:

        int n = Conn(123,456);結果就是n=123456;

        char* str = Conn("asdf", "adf");結果就是 str = "asdfadf";

2.#define ToChar(x) #@x

        給x加上單引号,結果傳回是一個const char。舉例說:

        char a = ToChar(1);結果就是a='1';

        做個越界試驗char a = ToChar(123);結果是a='3';

3.#define ToString(x) #x

        他是給x加雙引号。

        char* str = ToString(123132);就成了str="123132";

4.log宏函數

#define LOGI(...) {char __msg[2048]="";\
time_t __time;\
time(&__time);\
sprintf(__msg,__VA_ARGS__);\
printf("<id:%10lu---time:%ld> <%s %s %d> %s:",pthread_self(),__time,__FILE__,__func__,__LINE__,"info");\
printf(__msg);\
printf("\n");}
           

繼續閱讀