程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 宏名字和括號間不能有空格!

宏名字和括號間不能有空格!

編輯:C++入門知識

某日, 寫了一個簡單的內聯匯編腳本, 死活編譯不過去, 和原版的匯編一點一點對比, 基本上都一樣了, 可就是別人寫的可以編譯過去, 我寫的就是編譯不過去. 匯編腳本如下: [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)       只好祭出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’

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved