真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

C++類庫設(shè)計(jì)的基本構(gòu)思和方法

本篇內(nèi)容主要講解“C++類庫設(shè)計(jì)的基本構(gòu)思和方法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“C++類庫設(shè)計(jì)的基本構(gòu)思和方法”吧!

創(chuàng)新互聯(lián)公司主要為客戶提供服務(wù)項(xiàng)目涵蓋了網(wǎng)頁視覺設(shè)計(jì)、VI標(biāo)志設(shè)計(jì)、成都營銷網(wǎng)站建設(shè)、網(wǎng)站程序開發(fā)、HTML5響應(yīng)式網(wǎng)站建設(shè)公司、手機(jī)網(wǎng)站制作、微商城、網(wǎng)站托管及網(wǎng)站維護(hù)、WEB系統(tǒng)開發(fā)、域名注冊、國內(nèi)外服務(wù)器租用、視頻、平面設(shè)計(jì)、SEO優(yōu)化排名。設(shè)計(jì)、前端、后端三個(gè)建站步驟的完善服務(wù)體系。一人跟蹤測試的建站服務(wù)標(biāo)準(zhǔn)。已經(jīng)為火鍋店設(shè)計(jì)行業(yè)客戶提供了網(wǎng)站營銷推廣服務(wù)。

通常進(jìn)行C++類庫設(shè)計(jì)時(shí),大多數(shù)就是在頭文件(.h)中聲明和定義類,將其成員函數(shù)全部定義為內(nèi)聯(lián)函數(shù),而不使用源程序文件,希望大家能夠得到自己想要的信息。

我們在開篇就對簡單性目標(biāo)作了敘述,這里再稍微展開討論一下。我們提出的簡單標(biāo)準(zhǔn),首先是外部接口簡單,其次是內(nèi)部結(jié)構(gòu)簡單。我們知道,類庫是提供給上層應(yīng)用程序使用的,也就是按照一定的接口規(guī)范,向上層提供一定的功能服務(wù)。

接口設(shè)計(jì)得越簡單,對上層用戶來說就越方便,就越不容易產(chǎn)生Bug。我們可以注意到,流行的成功類庫都是擁有簡單接口的。為了使接口簡單,常常不得不把有關(guān)具體實(shí)現(xiàn)的復(fù)雜性封裝于類庫內(nèi)部,也就是說,關(guān)于簡單性的設(shè)計(jì)原則,外部接口簡單優(yōu)先于內(nèi)部實(shí)現(xiàn)簡單。

高性能是C++語言優(yōu)于其它OO語言的一個(gè)特性。C++的高性能應(yīng)該首先歸于它運(yùn)行模式,和大多數(shù)OO語言不同,C++程序編譯后直接產(chǎn)生本地平臺(tái)代碼(Native Code),理論上具備了可能的***執(zhí)行性能。另外的一個(gè)原因是主流的C++編譯器都被設(shè)計(jì)得非常精巧,具有優(yōu)越的代碼優(yōu)化能力。

對于C++類庫設(shè)計(jì)者來說,保持C++的高性能是一個(gè)重要目標(biāo)。程序的高性能可以從兩方面來評價(jià),一是時(shí)間性能,以盡量短的時(shí)間來解決盡量多的業(yè)務(wù);二是資源性能,以盡量少的資源消耗,包括CPU使用、內(nèi)存占用、網(wǎng)絡(luò)流量、磁盤空間等等,來維持正常的程序功能。提高性能的主要手段是數(shù)據(jù)結(jié)構(gòu)、算法和程序體現(xiàn)結(jié)構(gòu)的優(yōu)化設(shè)計(jì)000-861 117-102 。

再說可移植性。C++的編譯后輸出代碼是本地平臺(tái)代碼,因此C++本身不具有目標(biāo)代碼可移植性,C++的可移植性只能是源代碼可移植性。源代碼的可移植性是指,同一軟件產(chǎn)品的全部或者部分源代碼可以在不同的編譯環(huán)境中進(jìn)行編譯(不需要編譯的除外)。

并且其結(jié)果具有相同的品質(zhì)特性(依優(yōu)先順序包括功能性、可靠性、可用性、性能性、可維護(hù)性等)。編譯環(huán)境可以大致分為三個(gè)層次,***層的是操作系統(tǒng),也就是平臺(tái)(Platform),其次是對源代碼直接進(jìn)行處理的編譯器,然后是其它在編譯過程中必需的中間件物品。

如庫文件等。我們知道C++雖然在語言規(guī)范上獲得了統(tǒng)一(ISO/IEC),其編譯器卻是群雄割據(jù)的局面,具有代表性的有Borland C++系列(已經(jīng)淡出市場),Microsoft的Visual Studio系列的C++類庫和GNU陣營的***產(chǎn)品gc中的g++。

源代碼經(jīng)編譯環(huán)境處理后產(chǎn)生的可執(zhí)行代碼的執(zhí)行平臺(tái)稱為目標(biāo)平臺(tái),不同的編譯器的目標(biāo)平臺(tái)也不同,有的支持多平臺(tái),如g++,有的是單一平臺(tái),如Visual C++。對于類庫設(shè)計(jì)者來說。

想要獲得完全的可移植性是非常困難的(除非是象STL這樣被納入語言規(guī)范的類庫,因?yàn)椴恢С諷TL就是不支持標(biāo)準(zhǔn)的C++。即便如此不同的編譯環(huán)境還是存在不同的STL實(shí)現(xiàn)版本,造成“一個(gè)類庫多個(gè)實(shí)現(xiàn)”的局面),我們只能有選擇地支持一部分環(huán)境。我們在開篇就已經(jīng)說明,我們選擇g++和Visual C++編譯器,選擇Linux和Windows 32位目標(biāo)平臺(tái)。

一個(gè)解決辦法是將庫文件保持在源代碼形態(tài)(包括頭文件和源文件),而不編譯成二進(jìn)制文件。比如STL的許多實(shí)現(xiàn)版本都是以頭文件形式存在。這樣雖然解決了名稱裝飾所帶來的不可移植問題,但同時(shí)又會(huì)帶來代碼編譯時(shí)間增長,源代碼完全公開等問題。在C++的名稱裝飾規(guī)則未被統(tǒng)一之前,看起來這個(gè)問題是很難兩全其美地解決了。

在本系列中,我們也仿照g++的STL實(shí)現(xiàn)方式,完全以頭文件形式來編寫類庫。為什么不把代碼放到源文件中去呢?主要原因是,頭文件只需要用戶使用包含指令(#include)就可以處理了,而源文件則需要配置到用戶工程的編譯目標(biāo)列表中,和用戶的源程序形成共同編譯的形式,破壞了用戶工程的編譯目標(biāo)的封閉性,比較麻煩而且不符合軟件開發(fā)的一般習(xí)慣。

到此,相信大家對“C++類庫設(shè)計(jì)的基本構(gòu)思和方法”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!


本文標(biāo)題:C++類庫設(shè)計(jì)的基本構(gòu)思和方法
URL分享:http://weahome.cn/article/gohdip.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部