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

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
最近訪問(wèn)板塊 發(fā)新帖
查看: 2439 | 回復(fù): 6
打印 上一主題 下一主題

求教語(yǔ)言跨平臺(tái)的具體解釋 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2012-10-30 14:06 |只看該作者 |倒序?yàn)g覽
很多地方講到跨平臺(tái),首先平臺(tái)的意義是什么?
對(duì)與操作系統(tǒng)來(lái)講是硬件,就是cpu。那么對(duì)于編程語(yǔ)言,平臺(tái)是什么?是操作系統(tǒng)嗎?
我們講linux能支持很多cpu體系結(jié)構(gòu),那么它實(shí)現(xiàn)這種硬件可移植性的方式是什么?是不是linux將許多CPU體系結(jié)構(gòu)的特性抽象出來(lái),它的源代碼中含有這么多體系結(jié)構(gòu)的參數(shù),但對(duì)于特定的某一臺(tái)機(jī)器,內(nèi)核中一些部分也是不需要的。
另外對(duì)于語(yǔ)言的可移植性,說(shuō)到C語(yǔ)言,JAVA語(yǔ)言的跨平臺(tái)可移植性,他們的實(shí)現(xiàn)方式是怎么樣的?對(duì)于JAVA,對(duì)應(yīng)一個(gè)操作系統(tǒng)是不是有它特定的JVM。也就是對(duì)于語(yǔ)言的可移植性是因?yàn)橛胁煌木幾g器運(yùn)行在不同的平臺(tái)上呢?

論壇徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11數(shù)據(jù)庫(kù)技術(shù)版塊每日發(fā)帖之星
日期:2016-08-03 06:20:00數(shù)據(jù)庫(kù)技術(shù)版塊每日發(fā)帖之星
日期:2016-08-04 06:20:00
2 [報(bào)告]
發(fā)表于 2012-10-30 20:33 |只看該作者
AI0723 發(fā)表于 2012-10-30 14:06
很多地方講到跨平臺(tái),首先平臺(tái)的意義是什么?
對(duì)與操作系統(tǒng)來(lái)講是硬件,就是cpu。那么對(duì)于編程語(yǔ)言,平臺(tái)是 ...

內(nèi)核上層的結(jié)構(gòu)統(tǒng)一,下層實(shí)現(xiàn)因硬件而異.
C語(yǔ)言在源碼上可以實(shí)現(xiàn)跨平臺(tái)

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2012-10-30 23:51 |只看該作者
回復(fù) 2# cjaizss


   那C語(yǔ)言在源代碼的層次上可以跨平臺(tái),是怎么實(shí)現(xiàn)的?
為什么說(shuō)C語(yǔ)言是可以直接操作硬件的語(yǔ)言,那我們?cè)诰幾g環(huán)境下用C語(yǔ)言寫(xiě)成源代碼,為什么還跟所在操作系統(tǒng)有關(guān)系呢,很多情況都需要系統(tǒng)調(diào)用,比如對(duì)顯卡的操作,可以不通過(guò)系統(tǒng)調(diào)用直接寫(xiě)個(gè)C程序嗎?那為什么操作系統(tǒng)又說(shuō)所有對(duì)底層硬件的操作都要通過(guò)系統(tǒng)調(diào)用呢?

論壇徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11數(shù)據(jù)庫(kù)技術(shù)版塊每日發(fā)帖之星
日期:2016-08-03 06:20:00數(shù)據(jù)庫(kù)技術(shù)版塊每日發(fā)帖之星
日期:2016-08-04 06:20:00
4 [報(bào)告]
發(fā)表于 2012-10-31 00:41 |只看該作者
AI0723 發(fā)表于 2012-10-30 23:51
回復(fù) 2# cjaizss
驅(qū)動(dòng)也可以用C語(yǔ)言寫(xiě)

論壇徽章:
0
5 [報(bào)告]
發(fā)表于 2012-10-31 10:38 |只看該作者
AI0723 發(fā)表于 2012-10-30 23:51
回復(fù) 2# cjaizss

c語(yǔ)言在源碼上是可移植的。
這句話(huà)意思是c語(yǔ)言本身是可移植的,c語(yǔ)言本身是操作系統(tǒng)無(wú)關(guān)的。這里說(shuō)的c是指ANSI C
但是c語(yǔ)言的標(biāo)準(zhǔn)庫(kù)有一部分是需要操作系統(tǒng)api的支持,但這都是后端和運(yùn)行時(shí)的事情,主要由編譯器來(lái)幫你完成。所以不同平臺(tái)的編譯器和libc是不一樣的。
如果你在你的程序里引用到特定平臺(tái)的api或庫(kù)(比如說(shuō)在win下引用windows.h,在linux下引用linux/目錄下的頭文件),那你的程序還是不可移植的。
java的可移植性是由不同平臺(tái)不同的虛擬機(jī)來(lái)實(shí)現(xiàn)的,因?yàn)閖ava編譯成特殊的字節(jié)碼,然后由虛擬機(jī)解釋。
不是有句話(huà)嗎,c是一次編寫(xiě),處處編譯。java是一次編寫(xiě)出處運(yùn)行。

論壇徽章:
0
6 [報(bào)告]
發(fā)表于 2012-10-31 10:50 |只看該作者
AI0723 發(fā)表于 2012-10-30 23:51
回復(fù) 2# cjaizss
為什么說(shuō)C語(yǔ)言是可以直接操作硬件的語(yǔ)言,那我們?cè)诰幾g環(huán)境下用C語(yǔ)言寫(xiě)成源代碼,為什么還跟所在操作系統(tǒng)有關(guān)系呢,很多情況都需要系統(tǒng)調(diào)用,比如對(duì)顯卡的操作,可以不通過(guò)系統(tǒng)調(diào)用直接寫(xiě)個(gè)C程序嗎?那為什么操作系統(tǒng)又說(shuō)所有對(duì)底層硬件的操作都要通過(guò)系統(tǒng)調(diào)用呢?

保護(hù)模式下,在用戶(hù)態(tài)好像不能直接訪問(wèn)硬件的吧,內(nèi)核態(tài)是可以的
實(shí)模式的操作系統(tǒng)是可以直接訪問(wèn)硬件的

論壇徽章:
0
7 [報(bào)告]
發(fā)表于 2012-10-31 14:06 |只看該作者
sqfasd 發(fā)表于 2012-10-31 10:50
保護(hù)模式下,在用戶(hù)態(tài)好像不能直接訪問(wèn)硬件的吧,內(nèi)核態(tài)是可以的
實(shí)模式的操作系統(tǒng)是可以直接訪問(wèn)硬件的 ...


保護(hù)模式下,用戶(hù)態(tài)也可以直接訪問(wèn)硬件。至少X86上可以。
WINDOWS 不行是因?yàn)镺S作死了
LINUX 下面調(diào)用個(gè)IOPL(3) 就可以訪問(wèn)硬件了。
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專(zhuān)區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過(guò)ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP