当我试图编译时,我犯了很多错误:

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;

最佳答案

试试这个

#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;

08-19 10:30