One day, I wrote a simple inline assembly script, but the actual compilation cannot be completed. It is basically the same as the 1.1 points of the original compilation, but others can compile the script, what I wrote is that compilation is not successful. the Assembly script is as follows: [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): \ "memory"); \} while (0) therefore, beyond compare2 was found to have the following inconsistencies: the first line is others', and the second line is that there is a space between the macro name and, compiled! The previous error message is as follows. We hope the error message here is useful to you. memcpy. cpp: 40: warning: left-hand operand of comma has no such tmemcpy. cpp: 40: warning: right-hand operand of comma has no such tmemcpy. cpp: 40: error: expected '; 'before' do'