溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何進(jìn)行C++Builder的開發(fā)

發(fā)布時(shí)間:2021-10-27 18:12:07 來源:億速云 閱讀:229 作者:柒染 欄目:編程語(yǔ)言

這篇文章將為大家詳細(xì)講解有關(guān)如何進(jìn)行C++Builder的開發(fā),文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。

C++ Builder是由Borland公司推出的一款集成開發(fā)環(huán)境,C++Builder是一個(gè)專業(yè)的C++開發(fā)環(huán)境,他能夠提供的功能為:快速、高效、靈活的編譯器優(yōu)化,希望大家能夠?qū)W到自己想要的東西。

這個(gè)在市場(chǎng)上為Borland挽回了顏面的產(chǎn)品不但在界面風(fēng)格上與Borland的支柱產(chǎn)品Delphi別無二致,甚至還在產(chǎn)品內(nèi)部直接照搬了Delphi的VCL(Visual Component Library)庫(kù)。結(jié)果,使用C++Builder開發(fā)的代碼天生就受到了Delphi風(fēng)格的傳染,長(zhǎng)相酷似Pascal語(yǔ)言了(以下代碼取自C++Builder 6.0的示例代碼):

class TFormClrDlg : public TForm  {  published: // IDE-managed Components      TColorDialog *ColorDialog;      TButton *Button;      TPanel *Panel1;      void fastcall ButtonClick(TObject *Sender);  private:    // User declarations  public: // User declarations      virtual fastcall TFormClrDlg(TComponent* Owner);  };

說實(shí)話,盡管C++Builder在市場(chǎng)上的表現(xiàn)不錯(cuò),但我還是不喜歡Borland將C++語(yǔ)言與Delphi中的Object Pascal語(yǔ)言刻意混淆的做法。也許在Borland這種做法的背后有提高產(chǎn)品通用性、縮短產(chǎn)品開發(fā)周期等體面的理由,但使用C++Builder開發(fā)出的代碼在外表上已經(jīng)離標(biāo)準(zhǔn)C++風(fēng)格越來越遠(yuǎn)了。

值得注意的是,Borland于2003年推出了其下一代C++開發(fā)工具 ——C++BuilderX。讓人哭笑不得的是,這一次Borland居然將C++開發(fā)環(huán)境構(gòu)筑在了用Java語(yǔ)言實(shí)現(xiàn)的PrimeTime平臺(tái)上,這多少將C++語(yǔ)言推向了一種極為尷尬的處境。

不過,C++BuilderX也為我們帶來了一些好消息:在后續(xù)的版本中,C++BuilderX將集成vxWindows框架庫(kù)[5],在這種框架下開發(fā)的C++代碼顯然要比使用VCL的代碼具備更多的標(biāo)準(zhǔn)C++風(fēng)格。

Microsoft將C++引入.NET環(huán)境的舉動(dòng)其實(shí)比Borland還要激進(jìn)。單從風(fēng)格上說,使用Visual C++ .NET開發(fā)的代碼可能兼具M(jìn)FC、ATL、標(biāo)準(zhǔn)C++、.NET托管代碼等多種不同的風(fēng)格。其中,對(duì)C++語(yǔ)言本身影響***的,當(dāng)然要數(shù).NET托管代碼為C++注入的若干新鮮血液了:

#using <mscorlib.dll>  using namespace System;  using namespace System::Reflection;  using namespace System::Security::Permissions;   public __value enum SomeStuff {      e1 = 1,      e17 = 17  };   [attribute(AttributeTargets::Class, AllowMultiple=true)]  public __gc class ABC {  public:      ABC(int __gc[]) {}      ABC() {}      ABC(int) {}      ABC(int, float) {}      ABC(SomeStuff) {}      ABC(String*) {}      int rgnField __gc [];      double rgdField __gc [];      double dField;  };

上述代碼來自MSDN中的示例程序??吹組icrosoft大刀闊斧地為C++Builder引入的垃圾收集、Attribute屬性等新特性和新技術(shù),看到.NET托管代碼新奇得近乎離經(jīng)叛道的語(yǔ)言風(fēng)格。

我不知道是應(yīng)該為Microsoft在發(fā)展通用語(yǔ)言平臺(tái)上的努力而歡呼雀躍,還是應(yīng)該為C++在C#語(yǔ)言陰影下日漸屈居.NET大戲中的配角而灰心喪氣。也許,語(yǔ)言風(fēng)格和程序員的感受在Microsoft眼中,都是些不值一提的小事,它們哪能和.NET的宏偉戰(zhàn)略及Microsoft的強(qiáng)大帝國(guó)相提并論呢?

關(guān)于如何進(jìn)行C++Builder的開發(fā)就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI