Linux中國
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 中國: https://github.com/Linux-CN/archive
對這篇文章感覺如何?
太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
More in:Linux中國
捐贈 Let's Encrypt,共建安全的互聯網
隨著 Mozilla、蘋果和谷歌對沃通和 StartCom 這兩家 CA 公司處罰落定,很多使用這兩家 CA 所簽發證書的網站紛紛尋求新的證書籤發商。有一個非盈利組織可以為大家提供了免費、可靠和安全的 SSL 證書服務,這就是 Let's Encrypt 項目。現在,它需要您的幫助
Let's Encrypt 正式發布,已經保護 380 萬個域名
由於 Let's Encrypt 讓安裝 X.509 TLS 證書變得非常簡單,所以這個數量增長迅猛。
關於Linux防火牆iptables的面試問答
Nishita Agarwal是Tecmint的用戶,她將分享關於她剛剛經歷的一家公司(印度的一家私人公司Pune)的面試經驗。在面試中她被問及許多不同的問題,但她是iptables方面的專家,因此她想分享這些關於iptables的問題和相應的答案給那些以後可能會進行相關面試的人。 所有的問題和相應的答案都基於Nishita Agarwal的記憶並經過了重寫。 嗨,朋友!我叫Nishita Agarwal。我已經取得了理學學士學位,我的專業集中在UNIX和它的變種(BSD,Linux)。它們一直深深的吸引著我。我在存儲方面有1年多的經驗。我正在尋求職業上的變化,並將供職於印度的P
Lets Encrypt 已被所有主流瀏覽器所信任
旨在讓每個網站都能使用 HTTPS 加密的非贏利組織 Lets Encrypt 已經得了 IdenTrust的交叉簽名,這意味著其證書現在已經可以被所有主流的瀏覽器所信任。從這個裡程碑事件開始,訪問者訪問使用了Lets Encrypt 證書的網站不再需要特別配置就可以得到 HTTPS 安全保護了。 Lets Encrypt 的兩個中級證書 ...

















