亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: 這個(gè)宏定義 里的三個(gè)點(diǎn)是什么語法? [打印本頁]

作者: changkaizhao    時(shí)間: 2014-12-05 11:28
標(biāo)題: 這個(gè)宏定義 里的三個(gè)點(diǎn)是什么語法?
#define  LOGD(...)  __android_log_print(ANDROID_LOG_DEBUG,LOG_TAG,__VA_ARGS__)

作者: hellioncu    時(shí)間: 2014-12-05 11:36
宏 的參數(shù)個(gè)數(shù)不定
作者: codechurch    時(shí)間: 2014-12-05 12:35
參數(shù)不定的宏,是gcc的擴(kuò)展,其他編譯器不支持,如VC。

作者: bruceteen    時(shí)間: 2014-12-05 12:50
codechurch 發(fā)表于 2014-12-05 12:35
參數(shù)不定的宏,是gcc的擴(kuò)展,其他編譯器不支持,如VC。


a. 這是標(biāo)準(zhǔn)C的語法。
b. VC之所以不支持,是因?yàn)閂C不支持現(xiàn)在的C標(biāo)準(zhǔn),它只支持到ANSI C89 / ISO C90。
作者: codechurch    時(shí)間: 2014-12-05 13:14
回復(fù) 4# bruceteen

呵呵,你自己都說,VC支持到C89,C89也是標(biāo)準(zhǔn)。

所謂“標(biāo)準(zhǔn)C”,本來就是含混的概念。

在Windows上的事實(shí)標(biāo)準(zhǔn)就是VC編譯器,你寫成這樣,VC就是不給你編譯。


   
作者: eveson    時(shí)間: 2014-12-05 13:16
這是我寫的
  1. #if (COMPILE_ON_PLATFORM == LINUX_KERNEL || COMPILE_ON_PLATFORM == LINUX_USER)
  2. #define LOG_PRINT(loglevel, fmt, args...) Log_SendMsg(loglevel,\
  3.                                                       __FILE__, \
  4.                                                       __LINE__,\
  5.                                                       fmt,\
  6.                                                       ##args)
  7. #elif (COMPILE_ON_PLATFORM == WINDOWS32)
  8. #define LOG_PRINT(loglevel,fmt,...) Log_SendMsg(loglevel,\
  9.                                                       __FILE__, \
  10.                                                       __LINE__,\
  11.                                                                                                           fmt)

  12. #else
  13. #error OSI_LACK_OS_ENVIRMENT
  14. #endif
復(fù)制代碼

作者: folklore    時(shí)間: 2014-12-05 13:28
回復(fù) 4# bruceteen


    vc支持~~
作者: bruceteen    時(shí)間: 2014-12-05 14:15
codechurch 發(fā)表于 2014-12-05 13:14
呵呵,你自己都說,VC支持到C89,C89也是標(biāo)準(zhǔn)。
所謂“標(biāo)準(zhǔn)C”,本來就是含混的概念。
在Windows上的事實(shí)標(biāo)準(zhǔn)就是VC編譯器,你寫成這樣,VC就是不給你編譯。


我說的是“不支持現(xiàn)在的C標(biāo)準(zhǔn)”。
你拿個(gè)三鹿奶粉說它符合食品標(biāo)準(zhǔn),因?yàn)镹年前廢棄的標(biāo)準(zhǔn)也是標(biāo)準(zhǔn)?
即使退一步,說“標(biāo)準(zhǔn)C”有什么含混的?
難道以后說“殺人違法”不對,一定要說成“當(dāng)前當(dāng)代人違最新法”才對?你累不累?

“在Windows上的事實(shí)標(biāo)準(zhǔn)就是VC編譯器” --- 別鬼扯了(兩類SBs,1st:用tc++寫C++代碼,然后說C++標(biāo)準(zhǔn)錯(cuò)誤;2nd:用VC寫C代碼,然后說C標(biāo)準(zhǔn)錯(cuò)誤)。另外,“在Windows上的事實(shí)標(biāo)準(zhǔn)就是VC編譯器”回去將語文學(xué)學(xué)好。
“你寫成這樣,VC就是不給你編譯” --- 說得好像很了不起似的,VC不給我編譯怎么啦?VB不給我編譯怎么啦?Perl不給我編譯怎么啦?根本點(diǎn)在于,你為什么要將一個(gè)符合當(dāng)前C標(biāo)準(zhǔn)語法的代碼 交給 一個(gè)不支持當(dāng)前C標(biāo)準(zhǔn)的編譯器(比如VC,比如VB) 去編譯?自己有病還怪別人。
你帶上鈔票去賣咸魚的攤子買iphone6,攤主就是不賣給你。想表達(dá)什么高深的情緒呢?
作者: bruceteen    時(shí)間: 2014-12-05 14:25
回復(fù) 7# folklore
試驗(yàn)了一下,確實(shí)支持
看來是 C標(biāo)準(zhǔn) 增加了 可變參數(shù)宏之后,C++標(biāo)準(zhǔn) 立馬兼容
VC++ 為了符合C++標(biāo)準(zhǔn)也就增加了可變參數(shù)宏,導(dǎo)致VC也支持可變參數(shù)宏了。

這個(gè)屬于順帶附送吧,因?yàn)樯洗蜯S又重申了一下,哪怕VC的C編譯器有錯(cuò)誤,也不會改。




歡迎光臨 Chinaunix (http://www.72891.cn/) Powered by Discuz! X3.2