青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

可冰

冰,是沉睡著的水......

  C++博客 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
  37 隨筆 :: 5 文章 :: 94 評(píng)論 :: 0 Trackbacks
大家都知道現(xiàn)在C/C++的編譯是分為兩個(gè)部分的,即編譯和連接:源文件經(jīng)編譯后生成目標(biāo)文件,然后再連接為可執(zhí)行文件.
我對(duì)這兩個(gè)階段要做的工作還沒(méi)有了解,所以我現(xiàn)在可以這樣設(shè)想(也有可能是無(wú)知的設(shè)想):
以一種標(biāo)準(zhǔn)的方式定義目標(biāo)文件的格式,使之在各操作系統(tǒng)上生成的目標(biāo)文件完全一致,而且都可以在相應(yīng)的平臺(tái)上進(jìn)行正確的連接.這樣的話,就相當(dāng)于是一個(gè)中間層次的可移植性了.其實(shí),如果這樣不行的話也可以像JAVA那樣生成一定格式的"字節(jié)碼"文件,然后再進(jìn)行編譯連接.
如果可以將連接的一部分功能結(jié)合到操作系統(tǒng)內(nèi)部,實(shí)現(xiàn)動(dòng)態(tài)的連接,這樣就可以實(shí)現(xiàn)類似動(dòng)態(tài)裝載的特性了.
但這個(gè)要實(shí)現(xiàn)的話就需要有一個(gè)大的投資方或者開(kāi)源社區(qū)自己的共同努力才能實(shí)現(xiàn)了.
所以現(xiàn)在這樣的想法還是空想吧.

不過(guò)我想,事物都是發(fā)展的,我們的C++當(dāng)然也不會(huì)例外的.我相信C++會(huì)在不久也實(shí)現(xiàn)動(dòng)態(tài)及完全的跨平臺(tái)的特性的.希望這一天不會(huì)太遠(yuǎn)!
posted on 2005-09-14 23:30 可冰 閱讀(2465) 評(píng)論(7)  編輯 收藏 引用 所屬分類: C++

評(píng)論

# re: 目前C++可以實(shí)現(xiàn)跨平臺(tái)嗎 2005-09-18 08:39 FrameSniper
"大家都知道現(xiàn)在C/C++的編譯是分為兩個(gè)部分的,即編譯和連接:源文件經(jīng)編譯后生成目標(biāo)文件,然后再連接為可執(zhí)行文件."——現(xiàn)在?你的意思是以前不是了?原生開(kāi)發(fā)環(huán)境下誕生的程序都上兩個(gè)階段吧,一個(gè)就是編譯成目標(biāo)文件,然后Linker把這些目標(biāo)文件以及一些資源文件連接成最后的符合PE/COFF標(biāo)準(zhǔn)的EXE文件或者COM等可執(zhí)行文件。

跨平臺(tái)的基礎(chǔ)是虛擬機(jī),就我所知,VC.NET好象是可以同時(shí)對(duì)原生和基于虛擬的兩個(gè)環(huán)境做開(kāi)發(fā)的。
  回復(fù)  更多評(píng)論
  

# re: 目前C++可以實(shí)現(xiàn)跨平臺(tái)嗎 2005-09-18 09:54 cpunion
跨平臺(tái)的一個(gè)方式是虛擬機(jī),另一個(gè)方式是提供一致的API和ABI,也就是要求所有操作系統(tǒng)支持相同的可執(zhí)行文件格式,完整支持POSIX,這個(gè)似乎很難達(dá)到。

所以目前看來(lái),虛擬機(jī)是唯一的辦法。

從C++語(yǔ)言的發(fā)展方向上,很難看到他們有在語(yǔ)言層面上跨平臺(tái)的打算。

退而求其次,或許能夠依賴于某個(gè)工具,幫助檢查源代碼的可移植性。  回復(fù)  更多評(píng)論
  

# re: 目前C++可以實(shí)現(xiàn)跨平臺(tái)嗎 2005-09-18 11:06 可冰
@FrameSniper
"現(xiàn)在?你的意思是以前不是了?"
----------
當(dāng)然不是了,我的文字不好,沒(méi)有講明白,謝謝你指正.

另外,我不認(rèn)為跨平臺(tái)只有依靠虛擬機(jī).像cpunion所說(shuō),只要系統(tǒng)提供一致的接口就行.但是,如果接口差異不是很大,我想應(yīng)該可以靠編譯器的工作來(lái)轉(zhuǎn)換.
我的意思也不是要讓生成的可執(zhí)行文件實(shí)現(xiàn)跨平臺(tái),而是在一個(gè)中間代碼的層次實(shí)現(xiàn),而后由編譯器針對(duì)各系統(tǒng)的不同而生成不同的程序.雖然這也不是完全的跨平臺(tái),但在開(kāi)發(fā)者的角度看也差不多了,而且可以通過(guò)編譯器的實(shí)現(xiàn)來(lái)將中間代碼的編譯速度提高,這樣也可以實(shí)現(xiàn).NET所謂的即時(shí)編譯,即第一次運(yùn)行的時(shí)候編譯,以后就不用編譯了.其實(shí)在虛擬機(jī)上,也不是可以生成目標(biāo)操作系統(tǒng)的機(jī)器代碼嗎,但它的效率應(yīng)該不及C/C++了吧.


  回復(fù)  更多評(píng)論
  

# re: 目前C++可以實(shí)現(xiàn)跨平臺(tái)嗎 2005-09-18 11:19 可冰
@cpunion
從C++語(yǔ)言的發(fā)展方向上,很難看到他們有在語(yǔ)言層面上跨平臺(tái)的打算。
--------------
確實(shí),但我覺(jué)得現(xiàn)在語(yǔ)言層面動(dòng)態(tài)的需求是很大的,尤其是做應(yīng)用開(kāi)發(fā)的.而C++卻是在已經(jīng)做得不錯(cuò)的效率上下工夫,而且現(xiàn)在又要加入一些保證安全的語(yǔ)言特征.這可不符合大勢(shì)所趨啊.所以我覺(jué)得C++也會(huì)往這方面發(fā)展的吧.
其實(shí)我覺(jué)得那些C++的元老對(duì)C++的發(fā)展起了太大的作用,而他們又是比較保守的,所以導(dǎo)致C++發(fā)展緩慢.我覺(jué)得現(xiàn)在JAVA的方式不錯(cuò),通過(guò)JCP社區(qū)最終決定它的發(fā)展方向.
也許也是我錯(cuò)了吧:也許C++并不想走"大眾化"的道路,或是那些元老不想讓它走.
但我認(rèn)為使用者才是擁有最終決定權(quán)的.  回復(fù)  更多評(píng)論
  

# re: 目前C++可以實(shí)現(xiàn)跨平臺(tái)嗎 2005-09-18 12:55 cpunion
C/C++代碼有很多方面在跨平臺(tái)時(shí)有問(wèn)題,并不是JIT編譯器可以解決的,主要是畎;它太底層了。

JIT本身也是虛擬機(jī)的一部分,采用它就得確定使用虛擬機(jī)。

C++跨平臺(tái)的問(wèn)題,通過(guò)良好的設(shè)計(jì)和編寫(xiě)規(guī)范代碼,是可以實(shí)現(xiàn)的,很多產(chǎn)品都是跨平臺(tái)的了。

C++最大的問(wèn)題應(yīng)該是動(dòng)態(tài)性問(wèn)題,C++除了虛函數(shù)和簡(jiǎn)單的RTTI以外,基本上沒(méi)有任何動(dòng)態(tài)性,而動(dòng)態(tài)性卻是分布式編程中基本的需求。目前C++編寫(xiě)分布式組件,都需要先以一種IDL來(lái)編寫(xiě)接口,再生成一堆調(diào)用代碼,而很多其它語(yǔ)言則可以在語(yǔ)言內(nèi)解決這個(gè)問(wèn)題。

c++0x正在加入一個(gè)XTI(擴(kuò)展類型信息),不過(guò)還沒(méi)有看到實(shí)現(xiàn)產(chǎn)品,所以也無(wú)法評(píng)論。我希望它不要像上一個(gè)標(biāo)準(zhǔn)中的RTTI這么簡(jiǎn)單,而是要以一種語(yǔ)言層面的東西加入進(jìn)來(lái)。
比如我在類聲明時(shí)寫(xiě)成dynamic class X;則這個(gè)類在編譯后,將在全局類型表中注冊(cè)自己,并可以通過(guò)全局名稱查找到類,還可以由類查找所有成員的名稱、類型等,也就是反射,當(dāng)然希望還能走得更遠(yuǎn)些,比如動(dòng)態(tài)創(chuàng)建、動(dòng)態(tài)加載類型庫(kù)等。

愛(ài)之深,痛之切,適當(dāng)抱怨一下也未嘗不可。。。  回復(fù)  更多評(píng)論
  

# re: 目前C++可以實(shí)現(xiàn)跨平臺(tái)嗎 2007-07-18 17:13 學(xué)習(xí)
編譯跨平臺(tái),標(biāo)準(zhǔn)c/c++,在vc下開(kāi)發(fā)嵌入式應(yīng)用,很普遍的事情  回復(fù)  更多評(píng)論
  

# re: 目前C++可以實(shí)現(xiàn)跨平臺(tái)嗎[未登錄](méi) 2007-08-12 01:37 南郁
你說(shuō)的很有道理,“生成的目標(biāo)文件完全一致”,這在C++的討論里,稱為“有共同的二進(jìn)制格式”,但事實(shí)上有兩個(gè)問(wèn)題:

第一: “二進(jìn)制格式” 的標(biāo)準(zhǔn),不在語(yǔ)言里,而在操作系統(tǒng)手上,可惜操作系統(tǒng)之間往往是沒(méi)有這個(gè)共同標(biāo)準(zhǔn)。所以只能通過(guò)編譯成一個(gè)“偽代碼”,再去調(diào)操作系統(tǒng)對(duì)應(yīng)的功能。

第二,有了偽代碼,在去調(diào)系統(tǒng)對(duì)應(yīng)功能時(shí),仍然可能遇上問(wèn)題。那就是各個(gè)操作系統(tǒng)對(duì)應(yīng)功能的實(shí)現(xiàn)差別太大,這時(shí)簡(jiǎn)單地“調(diào)用”就不可能了。比如有功能A,在操作系統(tǒng)O1上,只需要一個(gè)函數(shù),而在操作系統(tǒng)O2上,需要3個(gè)函數(shù)的組合才能實(shí)現(xiàn)。所以這個(gè)“調(diào)用”,就得“智能”一點(diǎn),這樣就成了“虛擬機(jī)”了,也就是在不同操作系統(tǒng),有不同的虛擬機(jī)實(shí)現(xiàn)對(duì)外統(tǒng)一的接口。舉一個(gè)典型例子,你想吃漢堡,這時(shí)有三種情況:

1.本地有麥當(dāng)勞,去麥當(dāng)勞買一個(gè),因?yàn)辂湲?dāng)勞的漢堡比較地道。
2.本地沒(méi)有麥當(dāng)勞,但有肯德基,去肯德基買一個(gè)。
3.本地根本沒(méi)有賣漢堡的店。。。沒(méi)關(guān)系,親處去找面粉,雞肉什么的,做一個(gè),只要你愿意等。

這些事情就是虛擬機(jī)做的。C++不考慮虛擬機(jī),所以也就不可能有運(yùn)行時(shí)機(jī)制上的跨平臺(tái)。但是C++的語(yǔ)法當(dāng)然是跨平臺(tái)的。還有就是庫(kù)可以跨平臺(tái)。比如網(wǎng)絡(luò),一個(gè)ACE庫(kù),確實(shí)跨了很多平臺(tái)。


比如你想買一份 麥當(dāng)勞的堡,但你現(xiàn)在所在的城市居然沒(méi)有麥當(dāng)勞,那就不好辦了。。。  回復(fù)  更多評(píng)論
  

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久久噜噜噜久久人人看| 国产精品成人免费| 亚洲国产日韩在线| 夜夜狂射影院欧美极品| 欧美视频在线看| 亚洲欧美欧美一区二区三区| 久久亚洲免费| 亚洲精品影院在线观看| 国产精品成人一区二区三区夜夜夜 | 亚洲欧洲在线观看| 欧美精品久久久久久久久老牛影院| 日韩视频精品在线| 欧美专区亚洲专区| 亚洲人成网站在线播| 国产精品久久久久久久app| 久久国产精品久久久久久电车| 欧美福利专区| 亚洲欧美日本日韩| 亚洲二区精品| 国产精品久久久99| 免费不卡在线观看av| 中文在线不卡| 欧美成人免费播放| 欧美亚洲三区| 亚洲免费福利视频| 国产亚洲综合精品| 欧美日韩亚洲91| 久久婷婷丁香| 亚洲一区国产一区| 亚洲黄色毛片| 久久蜜臀精品av| 亚洲午夜久久久久久久久电影院 | 国产日韩三区| 欧美肥婆在线| 久久不见久久见免费视频1| 日韩视频精品| 欧美aa国产视频| 欧美亚洲视频一区二区| 亚洲狼人精品一区二区三区| 国产综合色在线| 欧美体内she精视频在线观看| 久久久爽爽爽美女图片| 亚洲午夜精品久久久久久app| 亚洲国产aⅴ天堂久久| 久久精品视频在线看| 亚洲免费婷婷| 99精品欧美一区二区蜜桃免费| 红桃视频成人| 国产欧美一区二区三区国产幕精品| 欧美日韩网站| 欧美久久99| 欧美国产日韩一二三区| 久久免费99精品久久久久久| 午夜日韩在线观看| 亚洲一区二区视频在线| 亚洲卡通欧美制服中文| 亚洲激情视频网| 欧美成人午夜激情在线| 久热精品在线视频| 久久―日本道色综合久久| 欧美一区二区性| 性欧美大战久久久久久久免费观看| 在线一区亚洲| 一区二区高清在线观看| 日韩一级精品视频在线观看| 亚洲精品国产视频| 亚洲精品国产系列| 亚洲精品日本| 一本色道久久精品| 一区二区三区四区蜜桃| 亚洲午夜电影在线观看| 亚洲在线电影| 欧美一级播放| 久久精品国产久精国产爱| 先锋影音一区二区三区| 欧美一区二视频| 久久久7777| 免费成人在线观看视频| 欧美成人在线网站| 亚洲国产精品久久| 亚洲理论电影网| 一区二区三区成人精品| 亚洲在线视频观看| 欧美与黑人午夜性猛交久久久| 久久精品欧洲| 欧美mv日韩mv国产网站app| 欧美精品日韩一区| 国产精品久久午夜| 国产在线一区二区三区四区| 在线日韩电影| 一区二区日韩欧美| 欧美一区影院| 欧美成人四级电影| av成人天堂| 欧美诱惑福利视频| 欧美高清视频一区二区| 国产精品久久99| 好吊色欧美一区二区三区视频| 亚洲国产视频一区二区| 亚洲已满18点击进入久久| 久久精品国产清自在天天线| 欧美国产精品专区| 亚洲色图自拍| 久久综合伊人| 国产精品美女午夜av| 在线成人小视频| 在线视频日本亚洲性| 久久久精品久久久久| 亚洲区国产区| 欧美一区二区免费| 欧美成人午夜激情视频| 国产精品亚洲产品| 亚洲黄网站黄| 欧美在线视频观看免费网站| 欧美护士18xxxxhd| 午夜精品久久久久久久蜜桃app | 国产精品日产欧美久久久久| 精品99一区二区三区| 亚洲天堂视频在线观看| 蜜臀av国产精品久久久久| 日韩一级精品视频在线观看| 久久精品五月婷婷| 欧美性猛交xxxx免费看久久久| 国内精品伊人久久久久av一坑| 一片黄亚洲嫩模| 牛牛影视久久网| 亚洲欧美日韩成人| 欧美激情一区二区三区成人 | 午夜精品免费视频| 亚洲国产女人aaa毛片在线| 性欧美xxxx大乳国产app| 欧美精品v国产精品v日韩精品 | 亚洲国产综合在线| 久久www成人_看片免费不卡| 欧美涩涩网站| 日韩写真视频在线观看| 欧美成人亚洲| 久久国产色av| 国产日韩精品视频一区| 亚洲尤物在线视频观看| 91久久精品国产| 美女主播一区| 一区二区在线视频播放| 欧美在线亚洲一区| 中文在线不卡| 国产精品第一区| 亚洲天堂免费观看| 亚洲人成在线观看| 欧美国产日韩亚洲一区| 亚洲国产精品成人va在线观看| 久久综合九色综合欧美就去吻| 亚洲综合电影一区二区三区| 国产精品播放| 亚洲欧美日韩精品一区二区 | 国产亚洲精品久久久| 午夜精品免费在线| 亚洲私人影院| 国产精品久久久久久久久久ktv| 在线中文字幕一区| 亚洲精品欧美| 欧美高清视频在线观看| 亚洲精品一区二区三区福利| 欧美激情一区二区三区四区 | 中日韩在线视频| 亚洲精品视频在线观看网站| 欧美精品成人在线| 一区电影在线观看| 一区电影在线观看| 国产精品色一区二区三区| 欧美在线你懂的| 久久九九国产精品| 伊人久久综合| 亚洲国产成人tv| 欧美日本一区| 亚洲欧美国产制服动漫| 亚洲男女自偷自拍| 韩国三级在线一区| 免费不卡在线观看av| 欧美激情按摩在线| 亚洲欧美第一页| 久久av免费一区| 91久久黄色| 中日韩高清电影网| 国产综合色精品一区二区三区| 欧美69wwwcom| 欧美日韩另类一区| 久久成人这里只有精品| 久久这里只精品最新地址| 99精品欧美一区二区蜜桃免费| 宅男噜噜噜66一区二区66| 国产一区久久久| 亚洲激情国产精品| 国产精品视频一二| 欧美成人精品1314www| 欧美日韩在线播放三区| 久久久精品视频成人| 欧美激情五月| 久久精品综合网| 欧美福利电影网| 久久精品动漫|