汇编脚本如下:
[cpp]
#undef BYTE_COPY_FWD
#define BYTE_COPY_FWD (dst, src, len) \
do { \
asm volatile( \
"cld\n" \
"rep\n" \
"movsb" : \
"=D" (dst), "=S" (src) : \
"0" (dst), "1" (src), "c" (len) : \
} while(0)
只好祭出beyond compare2
发现有如下不一致的地方:
第一行是别人的, 第二行是我的
发现宏名字和()之间多了一个空格, 去掉之, 编译通过!
之前的报错信息如下, 希望这里的报错信息对你有用.
memcpy.cpp:40: warning: left-hand operand of comma has no effect
memcpy.cpp:40: warning: right-hand operand of comma has no effect
memcpy.cpp:40: error: expected `;' before ‘do’