C#簡介:VC的NET,JAVA的KILLER?
發(fā)表時間:2024-02-25 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]第一篇 C#簡介:VC的NET,JAVA的KILLER? C#是在C,C++的基礎(chǔ)上發(fā)展起來的,是一種有網(wǎng)絡(luò)風(fēng)格,面向?qū)ο蟮目缯Z言平臺的程序設(shè)計語言。C#的編譯器輸出的代碼,可以稱為‘受控代碼’(MANAGED CODE),受控代碼并不能在目標機器上直接運行,它形成了一種文件,包含了與傳統(tǒng)計算...
第一篇 C#簡介:VC的NET,JAVA的KILLER?
C#是在C,C++的基礎(chǔ)上發(fā)展起來的,是一種有網(wǎng)絡(luò)風(fēng)格,面向?qū)ο蟮目缯Z言平臺的程序設(shè)計語言。C#的編譯器輸出的代碼,可以稱為‘受控代碼’(MANAGED CODE),受控代碼并不能在目標機器上直接運行,它形成了一種文件,包含了與傳統(tǒng)計算機語言不同的語言:中間語言(INTERMEDIATE LANGUAGE)。同時,C#編譯器又在該文件的各個數(shù)據(jù)類型前面直接插入了表示其相應(yīng)的變化屬性(METADATA),形成了一種可以移植執(zhí)行的文件。公共語言環(huán)境(COMMON LANGUAGE RUNTIME),再對中間語言IL代碼進行編譯,最終產(chǎn)生可以在目標機器上執(zhí)行的本地二進制代碼。
C#沒有了C++的一些特性:沒有宏,模板,多重繼承,指針及許多重載的操作符,當然還沒有全局函數(shù),全局變量,常量。每一樣?xùn)|西都得放在一個類中。你看,這些其實和JAVA的完全一樣!
當然還有些不一樣的地方:整個C#的類模型是建立在.NET虛對象系統(tǒng)(VIRTUAL OBJECT SYSTEM)之上的。對象模型是基礎(chǔ)結(jié)構(gòu)(INFRASTRUCTURE)的一部分。C#遵守CLS, 在此基礎(chǔ)上,具有良好的兼容性:可以訪問老的COM組件對象,OLE自動化,以及本地的API (它們通常是C格式的DLL)。在開發(fā)者需要使用指針時,可以通過非安全代碼,不運行在缺省的安全模式,來使用它們。在這種模式下,你得管理好自己的內(nèi)存,保證類型的安全。
了解了C#的大致原理,我們可以看出,它能夠?qū)崿F(xiàn)各種計算機語言的集成,面向網(wǎng)絡(luò)應(yīng)用,從而最終構(gòu)成微軟的.NET構(gòu)架。同時,將我們的軟件開發(fā)帶入組件化的天地。