91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C語言數據類型是如何被大多數計算機系統所支持

發布時間:2021-10-29 18:31:56 來源:億速云 閱讀:112 作者:柒染 欄目:編程語言

今天就跟大家聊聊有關C語言數據類型是如何被大多數計算機系統所支持,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

問題:

在讀K&R版的The C Programming Language一書時,我在[介紹,第3頁]看到這樣一條說明:

因為C語言提供的數據類型和控制結構可以直接被大部分計算機系統所支持,所以在實現自包含程序時所需要的運行庫文件一般很小。

這段黑體說明了什么?能否找到一個例子來說明C語言中的某種數據類型或控制結構不被某種計算機系統直接支持呢?

回答:

事實上,C語言中確實有不被直接支持的數據類型。

在許多嵌入式系統中,硬件上并沒有浮點運算單元。因此,如果你寫出下面的代碼:

float x = 1.0f, y = 2.0f;
return x + y;

可能會被轉化成下面這種形式:

unsigned x = 0x3f800000, y = 0x40000000;
return _float_add(x, y);

然后編譯器或標準庫必須提供’floatadd()’的具體實現,這會占用嵌入式系統的內存空間。依此去計算代碼在某個微型系統(譯者注:也就是指微型嵌入式系統)的實際字節數,也會發現有所增加。

另一個常見的例子是64位整型數(C語言標準中’long long’類型是1999年之后才出現的),這種類型在32位系統上也不能直接使用。古董級的SPARC系統則不支持整型乘法,所以在運行時必須提供乘法的實現。當然,還有一些其它例子。

其它語言

相比起來,其它編程語言有更加復雜的基本類型。

比如,Lisp中的symbol需要大量的運行時實現支持,就像Lua中的table、Python中的string、Fortran中的 array,等等。在C語言中等價的類型通常要么不屬于標準庫(C語言沒有標準symbol或table),要么更加簡單,而且并不需要那么多的運行時支 持(C語言中的array基本上就是指針,以NULL結尾的字符串實現起來也很簡單)。

控制結構

異常處理是C語言中沒有的一種控制結構。非局部的退出只有’setjmp()’和’longjmp()’兩種,只能提供保存和恢復某些部分的處理器狀態。相比之下,C++運行時環境必須先遍歷函數調用棧,然后調用析構函數和異常處理函數。

看完上述內容,你們對C語言數據類型是如何被大多數計算機系統所支持有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

和静县| 兴安县| 梁平县| 留坝县| 土默特右旗| 宜黄县| 五台县| 津南区| 都江堰市| 萨迦县| 长岛县| 壶关县| 广东省| 宁河县| 石首市| 恭城| 牙克石市| 鹿邑县| 新宁县| 罗江县| 洛南县| 肃宁县| 瓦房店市| 呈贡县| 江津市| 醴陵市| 资中县| 修武县| 普宁市| 建昌县| 资阳市| 芦溪县| 潜江市| 铁岭市| 安塞县| 惠水县| 瑞安市| 德格县| 舟山市| 噶尔县| 海城市|