程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> VC >> vc教程 >> 通過預編譯頭文件來提高CB的編譯速度

通過預編譯頭文件來提高CB的編譯速度

編輯:vc教程

C++ Builder是最快的C++編譯器之一,從編譯速度來說也可以說是最快的win32C++編譯器了。除了速度之外,C++builder的性能也在其它C++編譯器的之上,但許多delphi程序員仍受不了C++builder工程的編譯速度。的確,delphi的速度要比任和c++的編譯器都要快好多。Delphi在編譯一個小工程的時候可能不到一秒,大的工程一般也在5秒鐘這內編譯完成了。

為什麼delphi會比c++builder快這麼多?是否有方法來c++builder的編譯速度?本文就講解了為什麼C++的編譯器速度會慢,並且介紹了一個簡單的方法來減少c++builder的編譯時間。

為什麼c++編譯器的速度會慢?

c++builder 使用者怎麼通過預編譯頭文件來減少編譯時間?

講解基於VCL可視化工程的預編譯頭文件方法

優化c++builder對預編譯頭文件的使用

結論

注意事項

為什麼c++編譯器速度慢?

在C++中,你只能使用預定義或是預先聲明了的函數,這意味什麼?來看一個簡單的例子,函數A()調用函數B(),函數A()只能在函數B()的原型或是函數體在A()之前才能調用它。下面的例子說明了這一點:

// declaration or prototype for B
void B();
void A()
{
   B();
}
// definition, or function body of B
void B()
{
   cout << "hello";
}

沒有B()的原型,這個代碼不會編譯通過的,除非函數B()的函數體移到函數A()之前。

對於編譯器來說,函數的原型很重要。當你運行程序時,編譯器都要插入恰當的代碼來調用程序。編譯器必需知道要有多少個參數傳給函數。也要知道函數的參數應該在棧裡還是在寄存器裡。總而言這,編譯器必需知道怎麼來產生正確的代碼來調用這個函數,這就要求編譯器必需知道預先聲明或定義了的被調用的函數。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved