Hello, In my C code, I have: #define message message("Start\n"); When I look at the SRC file, I see: RSEG ?CO?MAIN ?SC_0: DB 'S' ,'t' ,'a' ,'r' ,'t' ,00AH,000H ; message("Start\n"); Why does the C51 version 1.32 keep "Start\n" in the output? Does this also happen to newer version? Thanks, Anh
"Why does the C51 version 1.32 keep "Start\n" in the output?" If you don't want it, why did you put it there?!
What I mean is that I have the code: #define message . . . message("Start\n"); message("Start\n") should expands to nothing so "Start\n" should not be in the output Anh
The macro expands to nothing, but the literal string constant still exists. How about another #define to make the constant vanish: //#define MessageString "Start\n" #define MessageString #define message(a) ... message(MessageString)