新的C庫Bionic的介紹

2021-06-25 10:19:35 字數 1052 閱讀 3732

google的在建立乙個新的c庫代替使用存在gnu c庫或者嵌入式的c庫。有一下的原因:

license:這glibc和uclibc在lgpl下是可獲得的,這就限制了他們由所有的應用程式被使用。代替,bionic在bsd的執照下發布的,乙個高特許的版本版本,沒有設定對於類庫使用的任何限制。

speed:bionic是被指定為移動計算。它被裁減去高效率的工作特別在有限的cpu週期和和手機硬體的記憶體有限。

size:bionic被設計盡可能的簡單。它提供在核心設施的輕量級的封裝和很少的apis,使與其他可選項使相比更小。這一章將覆蓋這些apis。

二進位制相容:

儘管它是乙個c標準庫,bionic並不是帶有其他c庫的二進位制相容。物件檔案盒靜態庫相對於其他c庫被產生不應該動態的和bionic相連。這樣導致不能連線或者執行你本地應用程式。

除了這,和其他c庫靜態連線產生任何用用程式和不和bionic混合在android平台沒有任何問題,除非它動態載入了其他系統的類庫在執行期間。

提供了什麼:

記憶體管理  檔案的輸入和輸出  字串處理 機制 日期時間 程序控制 訊號處理 socket通訊 多執行緒 使用者和組 系統配置 命名服務開關

丟失了什麼:

正如上面提到的,被設計為android平台和調節為移動計算的。並不是每乙個標準c庫被支援的。android ndk文件檔案提供了乙個完整完整丟失函式的列表;然而,這樣的資訊在真正的標頭檔案可以被獲得的。bionic標頭檔案位於平台/android-/arch-/usr/include在這android_ndk_home目錄下。

每個標頭檔案在這個目錄包含定義的丟失的函式。列舉在stdio.h標頭檔案丟失的函式,如下:

#if 0 /* missing from bionic */

char  *ctermid(char *);

char  *cuserid(char *);

#endif /* missing */

如果遇見被用來關閉這些行在這標頭檔案,和相關的注釋指示包含的丟失函式的列表。除了這些列表外指示,這android ndk文件也陳述了函式同通過bionic但是被實現僅僅作為stub,沒有任何或者功能性。

TIDB介紹 新資料庫趨勢

tidb是什麼?tidb 受谷歌spanner和f1的 啟發的new sql資料庫,這類資料庫不僅具有nosql對海量資料的儲存管理能力,還保持了傳統資料庫支援acid和sql等特性,同類資料庫還包括巨杉資料庫。tidb的原理與實現 tidb 架構是 sql 層和 kv 儲存層分離,相當於 inno...

C 8 0新特性介紹

c 語言是在2000發布的,至今已正式發布了7個版本,每個版本都包含了許多令人興奮的新特性和功能更新。同時,c 每個版本的發布都與同時期的 visual studio 以及 net 執行時版本高度耦合,這也有助於開發者更好的學習掌握 c 並將其與 visual studio 以及 net 的使用結合...

C 各大有名庫的介紹

c 各大有名庫的介紹 gui 在眾多c 的庫中,gui部分的庫算是比較繁榮,也比較引人注目的。在實際開發中,gui庫的選擇也是非常重要的一件事情,下面我們綜述一下可選擇的gui庫,各自的特點以及相關工具的支援。1 mfc 大名鼎鼎的微軟基礎類庫 microsoft foundation class ...