当用define预定义一个函数后undef时在X86平台下不能加参数,否则将报"extra tokens at end of #undef directive"的错误。测试过。
eg:
#define RECORD_INSTRUCTION(opcode_str,cond) printf("The opcode is : %s, condition is : %d \n", opcode_str, cond)
#undef RECORD_INSTRUCTION(opcode_str,cond)会报错
#undef RECORD_INSTRUCTION正确。