2012年3月9日 星期五

c macro 將參數從數字轉成字串

#define str(s) #s

int main(void)
{
str("tt")
return 0;
}

descent@ubuntu:test$ gcc -E v.c
# 1 "v.c"
# 1 ""
# 1 ""
# 1 "v.c"



int main(void) {
"\"tt\""
return 0;
}




#define str(s) #s

int main(void)
{
str(1)
return 0;
}

descent@ubuntu:test$ gcc -E v.c
# 1 "v.c"
# 1 ""
# 1 ""
# 1 "v.c"

#define str(s) #s

int main(void)
{
"1";
return 0;
}

不知道是 GNU extension 還是標準用法?

沒有留言:

張貼留言

使用 google 的 reCAPTCHA 驗證碼, 總算可以輕鬆留言了。

我實在受不了 spam 了, 又不想讓大家的眼睛花掉, 只好放棄匿名留言。這是沒辦法中的辦法了。留言的朋友需要有 google 帳號。