免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
C語言數(shù)據(jù)類型是如何被大多數(shù)計算機系統(tǒng)所支持?

問題:

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

因為C語言提供的數(shù)據(jù)類型和控制結(jié)構(gòu)可以直接被大部分計算機系統(tǒng)所支持,所以在實現(xiàn)自包含程序時所需要的運行庫文件一般很小。

這段黑體說明了什么?能否找到一個例子來說明C語言中的某種數(shù)據(jù)類型或控制結(jié)構(gòu)不被某種計算機系統(tǒng)直接支持呢?

 

回答:

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

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

  1. float x =1.0f, y =2.0f;
  2. return x + y;

可能會被轉(zhuǎn)化成下面這種形式:

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

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

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

 

其它語言

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

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

 

控制結(jié)構(gòu)

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

C++ 隱式類類型轉(zhuǎn)化 Implicit Class-Type Conversions http://www.linuxidc.com/Linux/2013-01/78071.htm

C語言變長數(shù)組之剖析 http://www.linuxidc.com/Linux/2013-07/86997.htm

C語言需要注意的問題 http://www.linuxidc.com/Linux/2013-05/84301.htm

C語言位域的使用及其注意點 http://www.linuxidc.com/Linux/2013-07/87027.htm

C語言中簡單的for循環(huán)和浮點型變量 http://www.linuxidc.com/Linux/2013-08/88514.htm

本文永久更新鏈接地址http://www.linuxidc.com/Linux/2015-04/115708.htm

本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
在易語言中調(diào)用DLL
理解面向?qū)ο蟮恼Z言
用UML建模開發(fā)嵌入式軟件
c語言函數(shù)返回字符串時必須要用指針嗎?如果返回結(jié)構(gòu)體呢?函數(shù)在返回那些類型值時必須要用指針...
數(shù)據(jù)管理發(fā)展的三個階段
如何混合使用C和C(上)
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服