bsd gcc预处理程序宏## x ##没有给出有效的预处理标记

时间:2014-02-14 17:47:10

标签: c macos gcc macros

当我尝试编译时,我收到了大量的错误:

km6502ot.h:77:1: error: pasting "Opcodei" and "(" does not give a valid preprocessing token

我在OSX上,我可以手动解决所有可能性但是可以修复这个宏,所以gcc会安静地吃它:

#define OP__(i) \
    case 0x##i##: \
        Opcode##i##(__THISP); \
        break;
#define OP_d(i) \
    case 0x##i##: \
        if (__THIS__.P & D_FLAG) \
            D_Opco##i##(__THISP); \
        else \
            Opcode##i##(__THISP); \
        break;

1 个答案:

答案 0 :(得分:0)

试试这个

#define OP__(i) \
    case 0x##i : \
        Opcode##i (__THISP); \
        break;
#define OP_d(i) \
    case 0x##i : \
        if (__THIS__.P & D_FLAG) \
            D_Opco##i (__THISP); \
        else \
            Opcode##i (__THISP); \
        break;