編譯器使用時間
⑴ 單片機執行用c編譯的程序時,每執行一行語句所需要的時間是多少
不確定,這個和單片機的性能,編譯器性能,語句復雜度都有關系。
就像你不能要求1.8G的CPU運行速度和2.8G的同樣快,單片機的性能很重要。
同樣一條C語句,不同的編譯器可能翻譯成不同條數的機器碼指令,當然,一般一個單片機只認識很有限編譯器編出來的目標碼,這條基本可以忽略。
還有就是C語句是什麼語句,比如運行i++一般只需要一個指令周期,i=i+1卻最少需要三個。
所以你的問法應該是「核心頻率是XXXHz的單片機,每秒能執行多少匯編指令?」
⑵ 如何知道c語言編譯器如CodeC:Blocks運行一個程序時所用的時間和內存呢
可以用profile
⑶ 同一段程序,不同的編譯工具,運行時間會不同嗎 就比如C-FREE和VC6++
會的,會有很大的差異的。因為不同的編譯器會對代碼進行不同的優化。你如果你Intel的編譯器,可能會更快!
intel 編譯器:
https://software.intel.com/en-us/intel-parallel-studio-xe/
⑷ 用c語言寫程序,同樣的代碼,為什麼編譯時間每次都不一樣
這個編譯器內部有預編譯的東西,所以時間不一樣,而且計算機的內存,後台進程不一樣,時間也就不一樣了
⑸ 編譯器編譯的時間, 要比解釋語言運行的速度慢嗎為什麼
只能說說通常的情況,因為情況比較復雜
一般來說,編譯的語言比解釋性語言運行的速度塊
不過編譯時間的話就很難說了,和編譯器本身有關系
解釋語言可以不用專成 二進制代碼直接運行
⑹ 有什麼c或c++編譯器可以精確顯示演算法執行時間
樓主你好你可以調用庫函數<time.h>
通過clock()函數來實現計時:
具體的就是在程序單的開始和結束來設定兩個時間點,然後除以CLOCKS_PER_SEC來實現!
⑺ 什麼是編譯時間
用戶使用編譯程序對其個人編制的源程序進行編譯的過程稱為程序編譯。編譯時間(compiling time) 指編譯程序將源程序編譯成目標程序所佔用的時間。
1 如何減少編譯時間
一是執行每日自動構建。每日自動構建的原理很簡單:安裝每日構建工具CCNET(不熟悉該工具的同學可以去搜索下)。然後在源碼伺服器上安裝編譯環境。源碼伺服器每天獲取最新代碼,每天下班後開始編譯最新代碼,經過一個晚上基本上就能把庫和應用程序都編好,到了第二天開發人員只需下載最新的庫文件和代碼文件而不須自己重新編譯。這樣就能大大節省時間了。
二是使用聯合編譯器IncrediBuild。這個工具估計大家都不陌生。最近試驗了一個新想法,寫一個批處理文件,將SVN和IncrediBuild綁在一起,實現了從源碼更新到工程編譯。
2 批處理文件的命令語法
svnupinclude//更新伺服器的include文件夾到本地
BuildConsoleD:\Code\MySolution.sln/prj="MyApp"/build/OpenMonitor/cfg="Debug|Win32"
BuildConsole是IncrediBuild的命令行工具,
D:\Code\MySolution.sln是你的解決方案文件絕對路徑,
/prj參數設置你要編譯的工程,如果你要編譯多個工程,可以這樣設置,/prj="prj1,prj2,prj3",
/prj參數也支持通配符,/prj="*"即為編譯MySolution.sln下的所有工程
/build為編譯工程,若改為/rebuild即是清理重編工程。
/OpenMonitor為打開IncrediBuild的圖形化界面,去掉該參數則不出現圖形界面。
/cfg為編譯設置選項,如要編release版本,可以改為Release|Win32。
把上面的代碼保存為BuildDebug.bat,把文件保存在D:\Code\路徑下(即源碼根目錄,下面有include、src和vs三個文件夾),然後運行這個批處理文件就相當於把從更新源碼到編譯源碼這一系列動作都執行了。
⑻ 寫一個編譯器大概多長時間
寫一個簡單的編譯器,很簡單,一個星期夠了,但是,它肯定沒有實用價值。
你懂的,編譯器要把源程序編譯為目標機器語言的,不熟悉機器指令,可以用匯編作為目標代碼。
⑼ 編譯程序出現在計算機時期的什麼時候
編譯程序出現的計算機時期是:第二代
編譯程序(Compiler,compiling program)也稱為編譯器,是指把用高級程序設計語言書寫的源程序,翻譯成等價的機器語言格式目標程序的翻譯程序。編譯程序屬於採用生成性實現途徑實現的翻譯程序。它以高級程序設計語言書寫的源程序作為輸入,而以匯編語言或機器語言表示的目標程序作為輸出。編譯出的目標程序通常還要經歷運行階段,以便在運行程序的支持下運行,加工初始數據,算出所需的計算結果。
20世紀80年代以後,程序設計語言在形式化、結構化、直觀化和智能化等方面有了長足的進步和發展,主要表現在兩個方面:①隨著程序設計理論和方法的發展,相繼推出了一系列新型程序設計語言,如結構化程序設計語言、並發程序設計語言、分布式程序設計語言、函數式程序設計語言、智能化程序設計語言、面向對象程序設計語言等;②基於語法、語義和語用方面的研究成果,從不同的角度和層次上深刻地揭示了程序設計語言的內在規律和外在表現形式。與此相應地,作為實現程序設計語言重要手段之一的編譯程序,在體系結構、設計思想、實現技術和處理內容等方面均有不同程度的發展、變化和擴充。另外,編譯程序已作為實現編程的重要軟體工具,被納入到軟體支援環境的基本層軟體工具之中。因此,規劃編譯程序實現方案時,應從所處的具體軟體支援環境出發,既要遵循整個環境的全局性要求和規定,又要精心考慮與其他諸層軟體 工具之間的相互支援、配合和銜接關系。
⑽ 編譯程序大多數時間花在什麼上
編譯程序大多數時間花在目標代碼生成。
編譯程序把用高級程序設計語言書寫的源程序,翻譯成等價的機器語言格式目標程序的翻譯程序。編譯程序屬於採用生成性實現途徑實現的翻譯程序。
它以高級程序設計語言書寫的源程序作為輸入,而以匯編語言或機器語言表示的目標程序作為輸出。編譯出的目標程序通常還要經歷運行階段,以便在運行程序的支持下運行,加工初始數據,算出所需的計算結果。
(10)編譯器使用時間擴展閱讀:
編譯程序的基本功能是把源程序(高級語言)翻譯成目標程序。但是,作為一個具有實際應用價值的編譯系統,除了基本功能之外,還應具備語法檢查、調試措施、修改手段、覆蓋處理、目標程序優化、不同語言合用以及人-機聯系等重要功能。
編譯程序的實現演算法較為復雜。這是因為它所翻譯的語句與目標語言的指令不是一一對應關系,而是一多對應關系;同時也因為它要處理遞歸調用、動態存儲分配、多種數據類型,以及語句間的緊密依賴關系。
但是,由於高級程序設計語言書寫的程序具有易讀、易移植和表達能力強等特點,編譯程序廣泛地用於翻譯規模較大、復雜性較高、且需要高效運行的高級語言書寫的源程序。