什麼是「運行時」?

我據說過「C Runtime」,「Visual C ++ 2008 Runtime」,「.NET公共語言運行時」等等。 編程

  • 究竟什麼是「 運行時 」?
  • 它是什麼作的?
  • 它如何與個人代碼交互? 或者更確切地說,個人代碼如何由它控制?

在Linux上編寫彙編語言時,我可使用INT指令進行系統調用。 那麼,運行時只是一堆預製函數將低級函數包裝成更抽象的高級函數嗎? 但這不是更像是庫的定義,而不是運行時的定義嗎? 數據結構

「運行時」和「 運行時庫 」有兩個不一樣的東西嗎? 框架

添加1

這些天,我想也許Runtime與所謂的虛擬機有一些共同點,好比JVM。 這是致使這種想法的引文: 函數

這個編譯過程很是複雜,能夠分解爲幾個抽象層,這些過程一般涉及三個轉換器:編譯器,虛擬機實現和彙編器。 --- 計算系統的要素 (介紹,道路到硬件土地) 工具

添加2

專家C編程:Deep C Secrets一書 。 第6章運行時數據結構是對此問題的有用參考。 開發工具


#1樓

運行時能夠表示程序生命週期的當前階段(運行時/編譯時/加載時間/連接時),也能夠表示運行時庫,它構成了與執行環境接口的基本低級操做。 或者它可能意味着運行時系統,它與執行環境相同。 spa

在C程序的狀況下,運行時是設置堆棧,堆等的代碼,這是C環境所指望的要求。 它本質上創建了語言所承諾的環境。 (它可能有一個運行時庫組件,crt0.lib或相似的東西,若是是C) code


#2樓

我發現如下文件夾結構爲理解runtime是一個很是有見地的上下文: 對象

Mozilla XulRunner的運行時

你能夠看到有' ',有' SDK '或'軟件開發工具包'而後有Runtime ,例如。 運行的東西 - 在運行時。 它的內容以下: 接口

運行時'文件夾內容

win32 zip包含.exe -s和.dll -s。

因此,例如。 C運行時將是這樣的文件 - C運行時庫,.so-s或.dll -s - 您在運行時運行,因爲它們(或其內容'或目的')包含在定義中而變得特殊。 C語言(在「紙上」),而後由您選擇的C實現實現。 而後,您將得到該實現的運行時,使用它並在其上構建。

也就是說,稍微極化,新的基於C的程序的用戶將須要的可運行文件。 做爲基於C的程序的開發人員,您也是如此,但您也須要C編譯器和C庫頭文件; 用戶不須要那些。


#3樓

運行時是您不知道對象在執行期間建立的對象的實例,對象建立基於特定條件或某些計算工做。 相反,編譯時是在執行以前由您定義所需對象的實例。


#4樓

運行時是一個通用術語,指代運行代碼的任何庫,框架或平臺。

C和C ++運行時是函數的集合。

.NET運行時包含中間語言解釋器,垃圾收集器等。


#5樓

MSDN文檔的這些部分能夠解決您的大部分問題: http//msdn.microsoft.com/en-us/library/8bs2ecf4(VS.71).aspx

我但願這有幫助。

謝謝,達米安

相關文章
相關標籤/搜索