Ⅰ delphi編譯器效率高到底是指什麼
所謂delphi編譯器效率高,一般指的是以下三方面:
1、編譯連接時間短,這一點是其他任何編譯器都無法相比的(一般來說,VC, VB編譯過程所用的時間是Delphi的幾倍),原因很簡單:Pascal語法限制嚴格,用戶必須規范地編碼,省去了編譯器的很多麻煩。
2、編譯出的程序執行速度快,產生的代碼長度短。這一點比VB強,但和VC基本一樣,誰也沒有優勢。不過很多人有誤解,以為Delphi類庫龐大復雜,加一個控制項就要把整個一個源文件全部加進來,代碼長度太大,效率太差。其實真實情況是,擁有眾多VCL控制項類庫,是Delphi的一個獨特之處,VC的MFC庫無法與之相比——MFC有的底層簡單封裝的類,VCL庫都有,但VCL有的上層組件,MFC卻根本沒有。使用VCL上層應用控制項後,代碼長度的確比VC大,不過VC卻沒有這方面的選擇,而VC所用的從底層一磚一瓦地編碼的方式,Delphi完全支持,而且絕對沒任何劣勢,代碼長度也不長(VC的語法復雜,按C程序員一般習慣做的話,代碼長的反而會是VC)。產生誤解的原因,是多數Delphi程序員是應用級的,而VC程序員是底層些的,應用程序員大多不太懂得底層代碼的編寫,只會搬控制項、響應事件,以為底層的東西Delphi做不來。
3、對應用級的程序開發周期短——這也就是Borland一貫吹捧的「快速開發工具」的含義。正因為VCL的存在(封裝了很多界面組件以及通訊、資料庫、internet應用等很多後台功能),對高層應用不再需要一磚一瓦地受累,使開發周期縮短了很多倍。
單純從技術角度說,編譯器效率應該指編譯出的代碼是否短小/運行速度是否快,以及是否能用較少的源代碼高效地實現復雜功能。前一方面Delphi並不比VC差,而比VB強,但並非一騎絕塵;後一方面則的確有一騎絕塵之象。
Delphi的致命缺點,其實不是技術——技術它是領先的,毫無疑問,問題是市場策略和公司實力(Borland只是家小公司),微軟「攜操作系統以令諸侯」,誤導了眾多軟體開發公司,讓它們以為微軟的才正宗和好用,造成了事實上的VB,VC用戶群遠比Borland的龐大,源代碼數量也一樣是C/C++遠遠占優,而Borland的C++ Builder卻開發得太晚難以形成市場優勢。
概括來說,如果你要開發上層應用為主的程序,特別是資料庫方面的程序,那麼Delphi能讓你省不少時間;而若開發底層些的軟體,為能有更多相關代碼可以參考利用,為能容易地招聘到更合適的程序員,以及為了代碼維護方便,都適合用C/C++去做,當然,C++ Builder從技術上說是個不錯的選擇,只是用戶群還太小。
Ⅱ 關於C語言預處理命令
第一句有問題。
比如
#ifndef WIN32
#endif printf("OK\n");
在這里,這個printf就不會被執行。也就是說, 一行中, 只能有一條預處理指令,
當編譯的預處理階段, 編譯器識別了一條完整的預處理指令後,後面的所有東西他都不要了。
對於第二句,在函數里,我們是可以使用預處理指令的。
比如
void fun(void)
{
#ifdef WIN32
... // 對於windows系統環境的操作
#else
... // 對於windows以外的系統環境的操作
#endif /* WIN32 */
...
}
樓上的同學, 你是在哪兒本書上看的? 介紹一下唄
Ⅲ delphi編譯器效率高到底是指什麼
什麼一騎絕塵,沒有那麼誇張啦,DELPHI發布DELPHI7的時候也沒說效率比同期的VC要高,只說了效率和VC相當,比VB高30%左右而已。現在的DELPHI更沒有看到這樣的宣傳語了。。。。
編譯器效率一般是指編譯鏈接後的原生代碼(也就是機器碼)的執行效率,直觀上就是在同樣的平台上DELPHI的項目運行起來要比vb快。
另外一個效率不常講,但是也會被用來衡量編譯器的憂劣,那就是對代碼的優化是否合理。
編譯器的效率高低是衡量編譯器好壞的重要指標。
從運行期看,效率高的編譯器編譯出來的代碼量小,運行速度快,
從設計期看,一個好的編譯器可以完全讓你不需要顧忌底層的實現。
但這是不可能的,BORLAND的產品不論是DELPHI還是BCB都對基本庫中的常式做了內嵌匯編的實現,內嵌匯編意味這什麼——我不信任你編譯器能編譯出比我這段匯編代碼更優化的原生代碼。這個比喻有些過分,但是換一個角度可以看出,編譯器的設計目標就是編譯出的代碼能與匯編的執行速度相比。
另外
最近經常以效率標榜的是ICC,INTEL宣稱ICC編譯出的代碼要比其他編譯器的代碼運行效率高出30%到50%。
再另
DELPHI其實是一個開發系統,他經過精心設計的類庫結構對其應用的速度提升也有幫助。
Ⅳ 請問windows中mingw做出的程序速度會比VC++和BCB慢很多嗎
不會。mingw/gcc的新版特別是4.7來編譯的win程序,比如使用了winapi的程序,
執行速度絲毫不比vc++或bcb或intel
cc慢。
gcc4.7的優化已經非常強勁了。
mingw慢的是編譯速度,比vc慢一個數量級。
mingw編譯的程序的執行速度,絲毫不慢。
實踐中像ffmpeg,ffdshow,mpc高清播放器這種視頻編碼和cpu媒體加速技術結合緊密程序,都用mingw編譯。測試效果和vc++、icc的或優或或劣比較不超過2%,可以忽略。
vc6/98編譯出的執行檔肯定比gcc4.7要差些,但vc6的編譯速度比gcc快
Ⅳ 如何提高BCB的編譯速度
如果你的cpu夠強你應該學會如何利用好它來加速你的代碼編譯速度,那麼你怎麼才能夠最大限度讓你的cpu發燒呢?
下面是一個對比:
比如我的cpu是i7 3770k,
編譯cocos2d-x的libcocos2d工程:
不優化:
1>Time Elapsed 00:01:35.25
優化後:
1>Time Elapsed 00:00:21.66
效果顯著!!!
參考網頁:
Visual Studio 2010中C++並行構建調優(1)
http://developer.51cto.com/art/201003/189235.htm
Ⅵ 怎樣解決軟體啟動CPU佔用率瞬間變高,導致軟體啟動變慢的問題;C++ Builder(BCB) 開發的大概有30個FORM
CPU佔用率高的九種可能
1、防殺毒軟體造成故障
由於新版的KV、金山、瑞星都加入了對網頁、插件、郵件的隨機監控,無疑增大了系統負擔。處理方式:基本上沒有合理的處理方式,盡量使用最少的監控服務吧,者,升級你的硬體配備。
2、驅動沒有經過認證,造成CPU資源佔用100%
大量的測試版的驅動在網上泛濫,造成了難以發現的故障原因。 處理方式:尤其是顯卡驅動特別要注意,建議使用微軟認證的或由官方發布的驅動,並且嚴格核對型號、版本。
3、病毒、木馬造成
大量的蠕蟲病毒在系統內部迅速復制,造成CPU佔用資源率據高不下。解決辦法:用可靠的殺毒軟體徹底清理系統內存和本地硬碟,並且打開系統設置軟體,察看有無異常啟動的程序。經常性更新升級殺毒軟體和防火牆,加強防毒意識,掌握正確的防殺毒知識。
4、控制面板—管理工具—服務—RISING REALTIME MONITOR SERVICE點滑鼠右鍵,改為手動。
5、開始->;運行->;msconfig->;啟動,關閉不必要的啟動項,重啟。
6、查看「svchost」進程。
svchost.exe是Windows XP系統的一個核心進程。svchost.exe不單單只出現在Windows XP中,在使用NT內核的Windows系統中都會有svchost.exe的存在。一般在Windows 2000中svchost.exe進程的數目為2個,而在Windows XP中svchost.exe進程的數目就上升到了4個及4個以上。
7、查看網路連接。主要是網卡。
8、查看網路連接
當安裝了Windows XP的計算機做伺服器的時候,收到埠 445 上的連接請求時,它將分配內存和少量地調配 CPU資源來為這些連接提供服務。當負荷過重的時候,CPU佔用率可能過高,這是因為在工作項的數目和響應能力之間存在固有的權衡關系。你要確定合適的 MaxWorkItems 設置以提高系統響應能力。如果設置的值不正確,伺服器的響應能力可能會受到影響,或者某個用戶獨占太多系統資源。
要解決此問題,我們可以通過修改注冊表來解決:在注冊表編輯器中依次展開[HKEY_LOCAL_ ]分支,在右側窗口中新建一個名為「maxworkitems」的DWORD值。然後雙擊該值,在打開的窗口中鍵入下列數值並保存退出:
9、看看是不是Windows XP使用滑鼠右鍵引起CPU佔用100%
在資源管理器裡面,當你右鍵點擊一個目錄或一個文件,你將有可能出現下面所列問題:
任何文件的拷貝操作在那個時間將有可能停止相應
網路連接速度將顯著性的降低
所有的流輸入/輸出操作例如使用Windows Media Player聽音樂將有可能是音樂失真成因:
當你在資源管理器裡面右鍵點擊一個文件或目錄的時候,當快捷菜單顯示的時候,CPU佔用率將增加到100%,當你關閉快捷菜單的時候才返回正常水平。
解決方法:
文字較多,請看鏈接http://help.360.cn/index.php?c=help&a=topic&bid=5030806&tid=19726210
Ⅶ 請問windows中mingw做出的程序速度會比VC++和BCB慢很多嗎
不會。mingw/gcc的新版特別是4.7來編譯的win程序,比如使用了winapi的程序,
執行速度絲毫不比vc++或bcb或intel cc慢。 gcc4.7的優化已經非常強勁了。
mingw慢的是編譯速度,比vc慢一個數量級。
mingw編譯的程序的執行速度,絲毫不慢。
實踐中像ffmpeg,ffdshow,mpc高清播放器這種視頻編碼和cpu媒體加速技術結合緊密程序,都用mingw編譯。測試效果和vc++、icc的或優或或劣比較不超過2%,可以忽略。
vc6/98編譯出的執行檔肯定比gcc4.7要差些,但vc6的編譯速度比gcc快
Ⅷ 推薦幾個C++的編譯器
visual c++ 功能強大,不過需要的容量也很大 ,
TC2.0也不錯 很適合初學者 不過不是很標准 下面有它們的下載網站 你自己根據自己的情況,自己選擇吧,我的建議是VC6.0
TC2.0的:
http://218.64.170.103/dload1.html?cid=
http://218.64.170.103/dload1.html?cid=
VC6.0 的:
http://218.64.170.103/dload1.html?cid=
http://218.64.170.103/dload1.html?cid=