什麼是C語言中的runtime?

2021-06-20 09:14:42 字數 716 閱讀 1379

大體來說,runtime是與runtime library密不可分的,這些庫依賴於特定的執行平台。

按照wiki上的說法

在計算機程式設計中,runtime library執行時庫,是指一種被編譯器用來實現程式語言內建函式一提供該語言執行時(執行時)支援的一種特殊的計算機程式庫,這種庫一般包括基本的輸入輸出或是記憶體管理等支援,它是一群支援正在執行程式的函式,與作業系統合作提供諸如數**算,輸入輸出等基本功能,讓程式寫作這不需要重新發明輪子,並善用作業系統提供的功能。

執行時庫由編譯器決定,以面向程式語言,提供其最基本的執行時需要,比如vb需要複雜的執行時庫支援而c的執行時庫則相對簡單。但讓這還是由編譯器廠商決定的,執行時庫中的函式可能對程式設計師透明,也可能不透明,這也是由編譯器廠商忖度語言執行環境的需求而決定的,所以,執行時庫總是依賴於特定的編譯器廠商以及特定的平台。

動態鏈結庫或者靜態鏈結庫與執行時庫的分類角度不同,不可相提並論,這兩個庫是在編譯時就組織到了程式中的,雖然動態鏈結庫並沒有被直接整合程序式中,但是程式還是在編譯時就鏈結起來了。而執行時庫則不同。

比如說,在陣列邊界的檢查,這是在runtime library中實現的,除非你實際執行這個程式,否則這寫錯誤是不可能被機器發現出來的,陣列邊界的錯誤就叫runtime error。

執行時提供的包括很多,比如,讓你的程式啟動或者結束,以及一些核心服務,比如說初始化棧,靜態變數,以及提供堆以及記憶體分配等。

也可以參考一下這裡。

掃盲 什麼是Runtime?

runtime又叫執行時,是一套底層c語言的api,其為ios內部的核心之一,我們平時編寫的oc 底層都是基於它來實現的。objective c 是一門動態語言,它會將一些工作放在 執行時才處理而並非編譯時。也就是說,有很多類和成員變數在我們編譯的時是不知道的,而在執行時,我們所編寫的 會轉換成完整...

c語言中的「巨集」是指什麼?

簡單來說 巨集定義又稱為巨集代換 巨集替換,簡稱 巨集 是c提供的三種預處理功能的其中一種。複雜的請看下面,講的很全。下面的帶參巨集定義,多行巨集定義,在linux核心原始碼中很多。另外sizeof也是乙個巨集定義。巨集定義巨集定義是c提供的三種預處理功能的其中一種,這三種預處理包括 巨集定義 檔案...

在C語言中什麼是定義?什麼是宣告?它們有何區別

在c語言中什麼是定義?什麼是宣告?它們有何區別?舉個例子 a int i b extern int i 什麼是定義 所謂的定義就是 編譯器 建立乙個物件,為這個物件分配一塊記憶體並給它取上乙個名字,這個名字就是我們經常所說的變數名或物件名。但注意,這個名字一旦和這塊記憶體匹配起來 可以想象是這個名字...