C語言中宏的字符串化涉及兩種形式:
1、任意字符的字符串化,用到的符號為#
2、字符串拼接,用到的符號為##
在內(nèi)核中,字符串化的宏為
#define _str(x) ?#x
#define str(x) ?_str(x)
字符串拼接通常用于C代碼中,而在內(nèi)聯(lián)匯編中使用字符串拼接宏操作指定寄存器的方法為:
#define AMS_TEST(reg) ? \
asm volatile ("add $" #reg ", $2, $2")
C語言中宏的字符串化涉及兩種形式:
1、任意字符的字符串化,用到的符號為#
2、字符串拼接,用到的符號為##
在內(nèi)核中,字符串化的宏為
#define _str(x) ?#x
#define str(x) ?_str(x)
字符串拼接通常用于C代碼中,而在內(nèi)聯(lián)匯編中使用字符串拼接宏操作指定寄存器的方法為:
#define AMS_TEST(reg) ? \
asm volatile ("add $" #reg ", $2, $2")