如何用宏替换回车符,注意我所指的不是替换含回车符的字符串#define CR "\r" <---这不是我提的问题
#define CR \r  <---我是指这个意思,但这样编译通不过,请提供正确的方法,谢谢

解决方案 »

  1.   

    因为要定义如下的代码:#define COUNTER_START() \
    __asm\
    {\
    RDTSC\
    mov hStart,edx\
    }但是编译失败
      

  2.   

    不知道使不是这个意思
    #define CR 0x47c054
      

  3.   

    楼主的想法应该不会实现的,因为#define后面的东西是纯粹的替换,\r并不会被理解为回车,而是两个字符"\"和"r",并且它们会出现在展开后的代码中,当然会编译错误。
    你可以考虑把你的asm代码的每一行分开进行宏定义。
      

  4.   

    #define   CR   \\r
      

  5.   

    TO zzz3265:
    你这个__asm   _emit   0x0D; 是什么意思,能否说详细点另外还有高手吗???
      

  6.   

    #define   COUNTER_START()   \
    __asm\
    {\
    RDTSC\
    mov hStart,edx\
    } 这样写是完全可以的,你要明白\的含义,只有\后面紧跟着是一个回车换行的时候,他才表示换行