C++中define宏定义换行的问题

怎样在宏中定义换行?
我想定义一个内联汇编宏,内容为
mov esp,ebp;
pop ebp;
retn;
这不能定义为一行,否则编译时只会编译第一行,这该怎么定义??
“\”只是表面为显示方便换行,实际上编译时任然将它们当作是一行的,我需要的是编译时它们是换行后的形式存在的

第1个回答  2009-11-09
在行末加”\“(不含引号)可以换行

你这样后面带分号了,不就是相当于是一行单独的语句吗

ps:__asm我不是很懂
第2个回答  2009-11-10
宏定义换行
#define LF "\n"
int i=3;
printf("%d%s%d",i,LF,i);
--------------------------------

定义为一行--你的意思是写成一行,编译器预处理时自己分行?不行,因为语法上有二意性。
第3个回答  推荐于2018-04-13
#define ASM_COMPILE {\
mov esp,ebp;\
pop ebp;\
retn;\
}本回答被提问者和网友采纳
第4个回答  2018-05-30
不需要{}号
第5个回答  2009-11-10
分太少
相似回答