成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

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

問題:

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

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

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

[[131181]]

 

回答:

事實上,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++運行時環境必須先遍歷函數調用棧,然后調用析構函數和異常處理函數。


via:stackoverflow

作者:Dietrich Epp 譯者:KayGuoWhu 校對:wxy

責任編輯:林師授 來源: Linux中國
相關推薦

2015-04-09 14:34:06

C語言數據類型計算機系統支持

2010-08-03 09:19:50

云計算調查

2018-01-02 18:06:56

2009-07-14 15:39:34

Swing大多數控件

2013-03-28 10:01:50

云計算

2014-01-02 10:34:54

設計設計師

2024-07-04 15:47:28

2014-04-10 09:40:51

System 360計算機計算機系統

2019-10-09 10:06:22

網絡大數據物聯網

2011-05-26 10:50:31

2016-10-26 09:42:13

2020-09-18 10:01:29

數據

2015-02-13 10:51:46

Java

2020-11-20 10:27:55

云計算云遷移IT

2015-06-05 10:13:09

2021-09-17 16:00:33

Windows 11微軟虛擬機

2012-12-19 10:07:18

2016-11-13 19:51:16

2021-08-02 15:23:16

Windows 10Windows微軟

2018-06-27 08:36:48

供應商存儲系統
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲视频在线观看一区二区三区 | 欧美精品v | 精品中文字幕一区二区三区 | www亚洲免费国内精品 | 91久久| 一区二区在线 | 久久精品手机视频 | 欧美日韩一区在线观看 | 日韩欧美精品 | 久久精品国产一区二区三区 | 成人精品一区二区三区 | 欧美一区二区在线观看视频 | 91精品国产高清久久久久久久久 | 色综合久久久久 | 99久热| 日韩2020狼一二三 | 成人在线亚洲 | 91免费观看 | a亚洲精品 | 欧美日韩免费在线 | 午夜视频一区二区三区 | 成人在线精品视频 | 久久久久久亚洲国产精品 | 欧美日韩成人一区二区 | 亚洲国产成人av好男人在线观看 | 亚洲精品免费视频 | 天堂av在线影院 | 99re在线视频 | 天天影视网天天综合色在线播放 | 国产在线视频一区二区 | 日韩在线一区二区三区 | 亚洲资源在线 | 日韩在线成人 | 天天拍天天操 | 成年网站在线观看 | 日韩欧美大片在线观看 | 亚洲视频免费观看 | 成人高潮片免费视频欧美 | 欧美一区二区三区在线观看 | 成人国产精品久久 | 中文在线a在线 |