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
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)