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

Chinaunix

標(biāo)題: 請(qǐng)問(wèn)判斷環(huán)境的 預(yù)編譯頭,如 _WIN32,什么時(shí)候定義的? [打印本頁(yè)]

作者: johnsonshu    時(shí)間: 2009-03-03 09:31
標(biāo)題: 請(qǐng)問(wèn)判斷環(huán)境的 預(yù)編譯頭,如 _WIN32,什么時(shí)候定義的?
常?吹綏l件編譯的代碼

#ifdef _WIN32
   。。。。
#   else
  。。。。
#endif

請(qǐng)教一下這個(gè)_WIN32是在什么地方定義的? 難道編譯器自己判斷平臺(tái),然后加進(jìn)去?
另外,如果我想用MINGW編譯, 源代碼里應(yīng)該怎么判斷MINGW平臺(tái)? 謝謝

[ 本帖最后由 johnsonshu 于 2009-3-4 16:43 編輯 ]
作者: yangsf5    時(shí)間: 2009-03-03 09:37
自己再#define吧。。
作者: johnsonshu    時(shí)間: 2009-03-03 09:42
原帖由 yangsf5 于 2009-3-3 09:37 發(fā)表
自己再#define吧。。


能具體講講嗎
比如在用autoconf的情況下,怎么寫configure.in
作者: alexhappy    時(shí)間: 2009-03-03 09:52
是自己定義的,比如你要在windows平臺(tái)編譯,那就去把那個(gè)_win打開(kāi),否則關(guān)閉。。;蚨x_linux
作者: yangsf5    時(shí)間: 2009-03-03 09:53
標(biāo)題: 回復(fù) #3 johnsonshu 的帖子
autoconf系列,我只用過(guò)1個(gè)項(xiàng)目,不記得了!,F(xiàn)在都是用老大寫的。

MINGW平臺(tái)判斷,可能要自己#define MINGW吧。
編譯器有個(gè)選項(xiàng)-D,定義宏的。
作者: yangsf5    時(shí)間: 2009-03-03 10:02
http://bbs2.chinaunix.net/viewthread.php?tid=235728

-Dmacro
  相當(dāng)于C語(yǔ)言中的#define macro
  
-Dmacro=defn
  相當(dāng)于C語(yǔ)言中的#define macro=defn
  
-Umacro
  相當(dāng)于C語(yǔ)言中的#undef macro

makefile里弄上這個(gè)選項(xiàng),定義相應(yīng)的宏。
作者: johnsonshu    時(shí)間: 2009-03-03 10:11
謝謝上面的幾位朋友。

現(xiàn)在的問(wèn)題就是 用autoconf的時(shí)候, autoconf會(huì)不會(huì)自動(dòng)幫你生成這個(gè)定義。
另外,mingw的情況下,這個(gè)定義的名是不是叫 _MINGW
作者: johnsonshu    時(shí)間: 2009-03-04 16:44
還是沒(méi)有答案。。。
作者: snick    時(shí)間: 2009-03-04 17:42
需要自己定義的,可以在config.h文件里面寫
作者: langue    時(shí)間: 2009-03-04 17:51
標(biāo)題: 回復(fù) #8 johnsonshu 的帖子
當(dāng)然沒(méi)有答案,因?yàn)槟愕膯?wèn)題不明確。
另外請(qǐng)明確“預(yù)編譯頭”的概念。Precompiled header 技術(shù)允許編譯器預(yù)先對(duì)代碼包含的聲明和定義進(jìn)行統(tǒng)一處理,加快正式編譯過(guò)程,解決了代碼中大量包含頭文件時(shí)編譯速度慢的問(wèn)題。
作者: ilex    時(shí)間: 2009-03-04 19:33
標(biāo)題: 回復(fù) #1 johnsonshu 的帖子
以windows環(huán)境vc 6.0為例;

project setting->c/c++頁(yè)面
Preprocessor definitions:
WIN32,_DEBUG,_CONSOLE,_MBCS

可滿意?
作者: johnsonshu    時(shí)間: 2009-03-07 14:20
原帖由 ilex 于 2009-3-4 19:33 發(fā)表
以windows環(huán)境vc 6.0為例;

project setting->c/c++頁(yè)面
Preprocessor definitions:
WIN32,_DEBUG,_CONSOLE,_MBCS

可滿意?


VC的情況下沒(méi)有問(wèn)題。

但是用MINGW的GCC進(jìn)行編譯的時(shí)候,這些預(yù)編譯變量實(shí)在哪里呢? 是不是autoconf做出來(lái)的, 做出來(lái)之后是不是在configure這個(gè)腳本里能找到?
作者: 太平紳士    時(shí)間: 2009-03-07 14:42
當(dāng)然是編譯器自己加進(jìn)去的.
既然他知道編成什么平臺(tái)的代碼, 就一定知道需要加哪些宏.

mingw會(huì)定義 __MINGW32__ 和 _WIN32
作者: langue    時(shí)間: 2009-03-07 16:01
標(biāo)題: 回復(fù) #12 johnsonshu 的帖子
specs 文件
P.S. 既然是編譯器自己定義的內(nèi)容,就不必去找 autoconf
作者: johnsonshu    時(shí)間: 2009-03-08 15:03
原帖由 langue 于 2009-3-7 16:01 發(fā)表
specs 文件
P.S. 既然是編譯器自己定義的內(nèi)容,就不必去找 autoconf


我看了mingw gcc 的 specs文件,但是里面沒(méi)有關(guān)于 WIN32 和 MINGW的定義呀




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