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

可冰

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

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

不過我想,事物都是發展的,我們的C++當然也不會例外的.我相信C++會在不久也實現動態及完全的跨平臺的特性的.希望這一天不會太遠!
posted on 2005-09-14 23:30 可冰 閱讀(2449) 評論(7)  編輯 收藏 引用 所屬分類: C++

評論

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

跨平臺的基礎是虛擬機,就我所知,VC.NET好象是可以同時對原生和基于虛擬的兩個環境做開發的。
  回復  更多評論
  

# re: 目前C++可以實現跨平臺嗎 2005-09-18 09:54 cpunion
跨平臺的一個方式是虛擬機,另一個方式是提供一致的API和ABI,也就是要求所有操作系統支持相同的可執行文件格式,完整支持POSIX,這個似乎很難達到。

所以目前看來,虛擬機是唯一的辦法。

從C++語言的發展方向上,很難看到他們有在語言層面上跨平臺的打算。

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

# re: 目前C++可以實現跨平臺嗎 2005-09-18 11:06 可冰
@FrameSniper
"現在?你的意思是以前不是了?"
----------
當然不是了,我的文字不好,沒有講明白,謝謝你指正.

另外,我不認為跨平臺只有依靠虛擬機.像cpunion所說,只要系統提供一致的接口就行.但是,如果接口差異不是很大,我想應該可以靠編譯器的工作來轉換.
我的意思也不是要讓生成的可執行文件實現跨平臺,而是在一個中間代碼的層次實現,而后由編譯器針對各系統的不同而生成不同的程序.雖然這也不是完全的跨平臺,但在開發者的角度看也差不多了,而且可以通過編譯器的實現來將中間代碼的編譯速度提高,這樣也可以實現.NET所謂的即時編譯,即第一次運行的時候編譯,以后就不用編譯了.其實在虛擬機上,也不是可以生成目標操作系統的機器代碼嗎,但它的效率應該不及C/C++了吧.


  回復  更多評論
  

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

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

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

C++跨平臺的問題,通過良好的設計和編寫規范代碼,是可以實現的,很多產品都是跨平臺的了。

C++最大的問題應該是動態性問題,C++除了虛函數和簡單的RTTI以外,基本上沒有任何動態性,而動態性卻是分布式編程中基本的需求。目前C++編寫分布式組件,都需要先以一種IDL來編寫接口,再生成一堆調用代碼,而很多其它語言則可以在語言內解決這個問題。

c++0x正在加入一個XTI(擴展類型信息),不過還沒有看到實現產品,所以也無法評論。我希望它不要像上一個標準中的RTTI這么簡單,而是要以一種語言層面的東西加入進來。
比如我在類聲明時寫成dynamic class X;則這個類在編譯后,將在全局類型表中注冊自己,并可以通過全局名稱查找到類,還可以由類查找所有成員的名稱、類型等,也就是反射,當然希望還能走得更遠些,比如動態創建、動態加載類型庫等。

愛之深,痛之切,適當抱怨一下也未嘗不可。。。  回復  更多評論
  

# re: 目前C++可以實現跨平臺嗎 2007-07-18 17:13 學習
編譯跨平臺,標準c/c++,在vc下開發嵌入式應用,很普遍的事情  回復  更多評論
  

# re: 目前C++可以實現跨平臺嗎[未登錄] 2007-08-12 01:37 南郁
你說的很有道理,“生成的目標文件完全一致”,這在C++的討論里,稱為“有共同的二進制格式”,但事實上有兩個問題:

第一: “二進制格式” 的標準,不在語言里,而在操作系統手上,可惜操作系統之間往往是沒有這個共同標準。所以只能通過編譯成一個“偽代碼”,再去調操作系統對應的功能。

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

1.本地有麥當勞,去麥當勞買一個,因為麥當勞的漢堡比較地道。
2.本地沒有麥當勞,但有肯德基,去肯德基買一個。
3.本地根本沒有賣漢堡的店。。。沒關系,親處去找面粉,雞肉什么的,做一個,只要你愿意等。

這些事情就是虛擬機做的。C++不考慮虛擬機,所以也就不可能有運行時機制上的跨平臺。但是C++的語法當然是跨平臺的。還有就是庫可以跨平臺。比如網絡,一個ACE庫,確實跨了很多平臺。


比如你想買一份 麥當勞的堡,但你現在所在的城市居然沒有麥當勞,那就不好辦了。。。  回復  更多評論
  

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲一区二区视频| 欧美精品少妇一区二区三区| 在线视频中文亚洲| 亚洲久久成人| 欧美xart系列高清| 久久精品亚洲热| 国产日韩在线亚洲字幕中文| 亚洲国产第一| 夜夜嗨av一区二区三区| 亚洲精品日韩一| 欧美日韩一区二区三区在线观看免| 狼人社综合社区| 在线 亚洲欧美在线综合一区| 亚洲视频在线免费观看| 久久av红桃一区二区小说| 亚洲国产欧美一区二区三区同亚洲| 裸体丰满少妇做受久久99精品 | 一区二区三区黄色| 久久综合国产精品| 亚洲啪啪91| 狠狠色伊人亚洲综合成人| 欧美精品在线免费| 免费在线成人av| 欧美与欧洲交xxxx免费观看 | 欧美一级视频免费在线观看| 狠狠久久婷婷| 欧美专区第一页| 亚洲免费久久| 亚洲永久网站| 国产精品综合视频| 国产精品久久久久av| 欧美91福利在线观看| 国产日韩精品视频一区| 国产丝袜一区二区| 午夜国产精品视频免费体验区| 一区二区三区四区五区视频| 91久久精品国产91久久性色| 亚洲欧美日韩国产综合在线 | 久久精品国亚洲| 99在线精品观看| 久久香蕉国产线看观看av| 亚洲综合电影| 亚洲欧美日韩国产中文在线| 亚洲精品1区| 老司机午夜精品视频在线观看| 一本色道久久综合亚洲91| 欧美www视频| 亚洲精品无人区| 99国产精品私拍| 国产精品美女黄网| 韩日精品视频| 亚洲激情偷拍| 国产裸体写真av一区二区| 久久影视三级福利片| 欧美成人午夜免费视在线看片 | 黄色精品免费| 亚洲精品一区二区三区福利| 香蕉尹人综合在线观看| 欧美电影在线免费观看网站 | 亚洲视频一区在线| 久久精品免视看| 欧美v国产在线一区二区三区| 亚洲精品国久久99热| 亚洲天堂av在线免费观看| 国精品一区二区| 欧美专区日韩视频| 免费一级欧美片在线观看| 亚洲女同同性videoxma| 麻豆精品传媒视频| 久久精品青青大伊人av| 国产精品99免费看| 亚洲综合色婷婷| 欧美母乳在线| 亚洲欧洲精品一区二区三区| 国产午夜精品一区二区三区欧美| 91久久精品一区二区别| 亚洲激情电影在线| 亚洲女同性videos| 最近中文字幕mv在线一区二区三区四区| 欧美成人69av| 亚洲欧美另类国产| 亚洲美女诱惑| 欧美片第1页综合| 亚洲高清不卡av| 亚洲精品久久久久久久久久久久 | 欧美国产一区视频在线观看| 国产一区二区三区免费观看| 99国产精品一区| 亚洲二区在线视频| 亚洲人成人77777线观看| 久久久久在线观看| 亚洲国产精品久久久久久女王| 麻豆精品在线观看| 99亚洲一区二区| 亚洲欧美激情四射在线日 | 亚洲欧美日韩一区二区三区在线 | 欧美视频在线观看免费| 一区二区三区国产精华| 国产精品成人一区二区三区夜夜夜| 亚洲天堂网站在线观看视频| 欧美一区91| 欧美精品成人一区二区在线观看| 一区二区动漫| 麻豆精品国产91久久久久久| 一区二区三区**美女毛片| 国产欧美精品一区二区色综合 | 午夜精品三级视频福利| 模特精品在线| 久久一区国产| 久久人人精品| 国产精品毛片| 欧美成年人视频| 欧美一区视频在线| 久久精品一本久久99精品| 欧美性大战久久久久久久蜜臀| 久久亚洲图片| 欧美不卡高清| 免费在线播放第一区高清av| 久久亚洲私人国产精品va媚药| 久久精品国产精品亚洲精品| 久久午夜av| 欧美成人精品影院| 亚洲第一色在线| 亚洲福利在线看| 中文av一区特黄| 亚洲视频在线观看网站| 夜夜嗨av一区二区三区四季av | 亚洲一区二区三区免费观看| 欧美影院精品一区| 久久激情中文| 欧美国产高清| 欧美在线精品免播放器视频| 久久久美女艺术照精彩视频福利播放| 久久精品麻豆| 亚洲日本免费电影| 久久一区二区视频| 一区二区三区视频在线观看| 欧美一级理论片| 欧美日韩另类字幕中文| 国产亚洲在线观看| 一本久道综合久久精品| 久久精品一级爱片| 亚洲乱码国产乱码精品精可以看| 性欧美超级视频| 国产精品成人观看视频国产奇米| **性色生活片久久毛片| 国产亚洲一级| 欧美一区二区视频观看视频| 亚洲黄色免费网站| 亚洲精品乱码久久久久久蜜桃91 | 久久久久久久久久久成人| 欧美日韩国产在线播放| 欧美精品1区2区| 亚洲人精品午夜| 欧美成人免费全部| 亚洲福利精品| 欧美一区91| 亚洲乱码精品一二三四区日韩在线 | 亚洲免费在线视频| 欧美成年人网| 欧美精品在线极品| 亚洲欧美日韩国产一区二区| 亚洲欧美中文日韩v在线观看| 国产一区二区三区久久| 久久综合色影院| 亚洲精品自在久久| 国产精品麻豆成人av电影艾秋| 亚洲一区二区三区乱码aⅴ| 亚洲亚洲精品三区日韩精品在线视频 | 午夜精品久久久久久| 在线视频亚洲欧美| 欧美大胆a视频| 国产精品狼人久久影院观看方式| 国产一本一道久久香蕉| 久久精品国产99国产精品澳门| 欧美日韩另类视频| 一区二区三区av| 亚洲综合精品| 欧美丝袜一区二区| 久久免费精品日本久久中文字幕| 欧美二区在线| 一区二区三区色| 欧美日本免费| 国产精品爽爽爽| 亚洲高清不卡在线观看| 亚洲一区日韩| 欧美亚洲在线视频| 麻豆精品传媒视频| 亚洲精品国产精品乱码不99按摩| 久久激情五月丁香伊人| 香蕉久久国产| 亚洲国产综合在线| 欧美高清视频在线| 国产片一区二区| 黄色小说综合网站| 亚洲美女av电影| 欧美激情亚洲一区| 国产精品va在线播放我和闺蜜| 日韩小视频在线观看| 久久精品视频在线|