Time of Update: 2017-02-27
Java特別象C++;由此很自然地會得出一個結論:C++似乎會被Java取代。但我對這個邏輯存有一些疑問。無論如何,C++仍有一些特性是Java沒有的。而且儘管已有大量保證,聲稱Java有一天會達到或超過C++的速度。但這個突破迄今仍未實現(儘管Java的速度確實在穩步提高,但仍未達到C++的速度)。此外,許多領域都存在為數眾多的C++愛好者,所以我並不認為那種語言很快就會被另一種語言替代(愛好者的力量是容忽視的。比如在我主持的一次“中/進階Java研討會”上,Allen
Time of Update: 2017-02-27
簡介幾個星期以前,我拚命的尋找一個能夠通過COM介面傳遞C++對象的例子,但是,沒有找到.這就是我發表這篇文章的原因。向ATL的DLL中傳遞一個C++對象參數並不是非常之難,但是,當然也會有點難度,也很有趣。在開始一個工程以前,首先你得確信客戶機和伺服器組件都是適應C++的程式,其次,你必須知道怎樣設定你的客戶機和伺服器。介面的局限性COM技術要求客戶機和伺服器高度的分離,這是通過介面實現的,但是問題出在:介面的方法中只提供了有限個參數資料類型,如果這個介面是基於IDispatch的,參數類型的
Time of Update: 2017-02-27
一、前言網上很多程式都可以閱讀英文和中文,典型的就是金山詞霸,最近找了一下,發現網上在VC這方面的資料不是很多,好些程式都是基於API的(比如VCKBASE ::首頁 >> 文檔中心 >> 線上雜誌 >> 音頻技術 中的文章"文字轉換語音入門"作者:Suyu),加之我在 VCKBASE
Time of Update: 2017-02-27
引用計數指標是否能有效地回收,對系統意外關機之後資料的恢複來說至關重要,關鍵是要避免對象複製。怎樣從災難性故障中,恢複一個長期運行、系統級的後台守護進程或者服務,在如今的軟體設計過程中,已成為了一個重要的考慮因素。當這些軟體是由C++語言編成,並使用了引用計數的智能指標時,那麼,智能指標的有效回收,對系統是否具有可伸縮級的恢複能力、甚至正確地繼續未完成的操作來說,都顯得至關重要。在本文中,描述了一種方法,可從關機之後的軟體恢複中,有效地回收引用計數指標,而且此方法在記憶體佔用方面也非常高效,這種
Time of Update: 2017-02-27
其他形式的同步我們可使用類Monitor與類Thread中的某些函數,直接控制線程的同步,請看例1。例1:using namespace System;using namespace System::Threading;int main(){ /*1*/ MessageBuffer^ m = gcnew MessageBuffer; /*2a*/ ProcessMessages^ pm = gcnew ProcessMessages(m); /*2b*/ Thread^ pmt =
Time of Update: 2017-02-27
BCB2007 的發布是一件令人振奮的事情,它強大的功能和良好的穩定性讓我決定從BCB6.0 轉向2007。BCB2007 的變化還是比較大的,它不能像6.0那樣方便地安裝我們的ActiveX 控制項,甚至有些網友說它根本不能安裝ActiveX 控制項,這樣導致了廣大網友對BCB2007的不滿。BCB2007真的無法安裝我們的ActiveX 控制項嗎? 答案是:可以安裝。詳細的安裝方案看下面的描述吧,有2個方案。【方案一】條件:安裝有BCB6.0 和
Time of Update: 2017-02-27
C++/CLI不但支援基於堆棧的對象,同時也支援基於堆的對象;然而,如果想與其他基於CLI的語言(如C#、J#、Visual Basic)進行互操作的話,必須要清楚地知道,這些語言只支援基於堆的對象;當處於基於堆的對象環境中時,你與對象之間,永遠只有"一臂之遙",比方說,兩個給定的控制代碼h1與h2,只有在為這種控制代碼類型定義了相應的賦值操作符時,*h1 =
Time of Update: 2017-02-27
序列化可使對象被轉換為某種外部的形式,比如以檔案儲存體的形式供程式使用,或通過程式間的通訊發送到另一個處理過程。轉換為外部形式的過程稱為"序列化",而逆過程稱為"反序列化"。簡介請看例1中的樣本,其將多個物件類型的值寫入到一個新的磁碟檔案中,關閉檔案,接著再把這些值重新讀取到記憶體中。例1:using namespace System;using namespace System::IO;using namespace
Time of Update: 2017-02-27
MATLAB廣泛應用於線性代數、自動控制理論、數理統計、數字訊號處理、時間序列分析、動態系統模擬等領域。因此如果在VC中對MATLAB進行調用將大大減少編程的工作量、保證程式的準確性,並且繼承了VC++強大的功能,提高開發效率,本文將介紹了在VC中使用MATLAB函數庫的具體步驟:在VC中建立一個項目後:1.設定:添加路徑:在project-settings-c/C++-category:-preprocessor-Additional include directories:欄目中添加:D:\
Time of Update: 2017-02-27
如何安裝自己在 BCB 6 或使用C++ Builder 2007 所製作的組件呢? 我想在舊版的 BCB 6 中大家都很清楚如何安裝一個由 Component->new Component 所建立的組件,通常若我們沒有自己新增一個新的 Package 專案並加入組件的話,BCB 6 會預設一組 dclusr.bpk 供你安裝你的組件,當然你自己也可以新增一個新的 Package 專案加入你寫的組件,當組件Compile 完成後再按下Install
Time of Update: 2017-02-27
開發定點(fixed-point)演算法時,通常需要在設計功能性、數字精度建模、及驗證(模擬)速度之間取得一個平衡。現在,一種新的資料類可使此過程簡單化,由此得到更簡單精確的建模精度、更好的數字求精、及更快的驗證周期,而ANSI
Time of Update: 2017-02-27
最近寫了一篇關於C++0x Concepts的文章,意料之外地引起了一場小規模口水仗。回各位文章的同時,回想這些年C++社群的大小爭論,覺得有必要把一些長久以來在C++爭論中出現的誤解列舉出來。…History became legend, legend became myth …- The Lord of the
Time of Update: 2017-02-27
問題
Time of Update: 2017-02-27
《不得不看的兩次從C++迴歸C的高手評論C++》中先是提了一下所謂C++帶來的思想包袱(文言文曰“心智包袱”)問題,然後重重地引用了Linus的話:“關鍵是設計”,其實他是在暗示:好的設計C同樣能做出來,不勞C++大駕;而C++一旦出面,就要讓人背上額外的思想包袱。
Time of Update: 2017-02-27
多年以來,只要提到編寫Windows服務,就會想到用Visual C++編寫,同時,這也是其中一件C++程式員可以做,而VB程式員不可以做的事情。以前,我們只稱其為"服務"或"NT服務",現在,它們被命名為"Windows服務",而且用VB.NET或C#也可以很容易地編寫。但是,如果你想用託管C++來編寫呢?畢竟,大多數有經驗的Visual
Time of Update: 2017-02-27
1.引言早期的Windows程式中,可以使用GDI(Graphics Device
Time of Update: 2017-02-27
在VC.Net中使用預設設定/clr編譯時間,一個託管函數會產生兩個進入點,一個是託管的,供Managed 程式碼調用,另外一個是非託管的,供Unmanaged 程式碼調用。但是函數地址,特別是虛函數指標只能有一個值,所以需要有一個預設的入口。 非託管進入點可能是所有調用的預設入口(在 Visual Studio .NET2003 中,編譯器總是會選擇非託管入口,但是在Visual Studio
Time of Update: 2017-02-27
現在,把大型軟體項目分解為一些相互動的小程式似乎變得越來越普遍,程式各部分之間的通訊可使用某種類型的通訊協議,這些程式可能運行在不同的機器上、不同的作業系統中、以不同的語言編寫,但也有可能只在同一台機器上,實際上,這些程式可看成是同一程式中的不同線程。而本文主要討論C++/CLI程式間的通訊,當然,在此是討論進程間通訊,而不是網路通訊。簡介試想一個包含資料庫查詢功能的應用,通常有一個被稱為服務端的程式,等待另一個被稱為用戶端程式發送請求,當接收到請求時,服務端執行相應功能,並把結果(或者錯誤資訊
Time of Update: 2017-02-27
一、緒論 當微軟推出VS.NET7實現了可擴充的託管C++後,C++程式員們反映不一。儘管大部分的程式員對於能夠繼續使用C++感到很欣慰,但幾乎所有的人對於託管C++提供的晦澀文法感到很痛苦。微軟明顯從反饋中感覺到託管C++不是那麼成功。 2003年10月6日,ECMA(歐洲電腦製造商協會)宣布成立專家組,負責結合ISO標準C++與通用語言,開發一個可擴充語言的標準,這個新的可擴充語言被稱為C++/CLI標準。這個標準將被VS.NET2005的C++編譯器支援。 二、老文法存在的問題 1
Time of Update: 2017-02-27
原始碼壓縮包中共有三個rar檔案ntservice.rar為NTService 例子原始碼ntservicecpl.rar為NTServCpl 例子原始碼ntservicectrl.rar為NTServCtrl 例子原始碼摘要本文描述如何用 Visual C++ 建立 Windows NT 服務程式。建立該服務僅用到一個 C++ 類,這個類提供服務與作業系統之間一個簡單的介面。使用這個類實現自己的服務非常簡單,只要改寫少數幾個基類中的虛擬函數即可。在本文有三個原始碼參考例子:NTService