
TBOX是一個用c語言實現的跨平臺開發庫。
針對各個平臺,封裝了統一的接口,簡化了各類開發過程中常用操作,使你在開發過程中,更加關注實際應用的開發,而不是把時間浪費在瑣碎的接口兼容性上面,并且充分利用了各個平臺獨有的一些特性進行優化。
這個項目的目的,是為了使C開發更加的簡單高效。
目前支持的平臺有: Windows, Macosx, Linux, Android, iOS, *BSD等等。
通過xmake支持各種編譯模式:
如果你想了解更多,請參考:在線文檔, Github以及Gitee
針對http、file、socket、data等流數據,實現統一接口進行讀寫,并且支持: 阻塞、非阻塞、異步 三種讀寫模式。支持中間增加多層filter流進行流過濾,實現邊讀取,內部邊進行解壓、編碼轉換、加密等操作,極大的減少了內存使用。
主要提供以下模塊:
stream:通用非阻塞流,用于一般的單獨io處理,同時支持協程以實現異步傳輸。transfer:流傳輸器,維護兩路流的傳輸。static_stream:針對靜態數據buffer優化的靜態流,用于輕量快速的數據解析。memset_u16、memset_u32等接口,并對其進行高度優化,尤其適合圖形渲染程序請先安裝: xmake
#?默認直接編譯當前主機平臺
$?cd?./tbox
$?xmake
#?編譯mingw平臺
$?cd?./tbox
$?xmake?f?-p?mingw?--sdk=/home/mingwsdk
$?xmake
#?編譯iphoneos平臺
$?cd?./tbox
$?xmake?f?-p?iphoneos
$?xmake
#?編譯android平臺
$?cd?./tbox
$?xmake?f?-p?android?--ndk=xxxxx
$?xmake
#?交叉編譯
$?cd?./tbox
$?xmake?f?-p?linux?--sdk=/home/sdk?#--bin=/home/sdk/bin
$?xmake
#include?"tbox/tbox.h"
int?main(int?argc,?char**?argv)
{
????//?init?tbox
????if?(!tb_init(tb_null,?tb_null))?return?0;
????//?trace
????tb_trace_i("hello?tbox");
????//?init?vector
????tb_vector_ref_t?vector?=?tb_vector_init(0,?tb_element_str(tb_true));
????if?(vector)
????{
????????//?insert?item
????????tb_vector_insert_tail(vector,?"hello");
????????tb_vector_insert_tail(vector,?"tbox");
????????//?dump?all?items
????????tb_for_all?(tb_char_t?const*,?cstr,?vector)
????????{
????????????//?trace
????????????tb_trace_i("%s",?cstr);
????????}
????????//?exit?vector
????????tb_vector_exit(vector);
????}
????//?init?stream
????tb_stream_ref_t?stream?=?tb_stream_init_from_url("http://www.xxx.com/file.txt");
????if?(stream)
????{
????????//?open?stream
????????if?(tb_stream_open(stream))
????????{
????????????//?read?line
????????????tb_long_t?size?=?0;
????????????tb_char_t?line[TB_STREAM_BLOCK_MAXN];
????????????while?((size?=?tb_stream_bread_line(stream,?line,?sizeof(line)))?>=?0)
????????????{
????????????????//?trace
????????????????tb_trace_i("line:?%s",?line);
????????????}
????????}
????????//?exit?stream
????????tb_stream_exit(stream);
????}
????//?wait
????tb_getchar();
????//?exit?tbox
????tb_exit();
????return?0;
}
為了感謝大家對本公眾號的支持,本次向清華大學出版社申請了5本 《基于FPGA與RISC-V的嵌入式系統設計》贈送給大家。贈書采用抽獎的方式。
參與方法:關注【嵌入式大雜燴】公眾號,并回復關鍵詞:FPGA嵌入式系統?,即可獲取抽獎碼。
開獎時間:2023年8月15日20:00
溫馨提示:中獎者請在開獎后24小時內在抽獎小程序上填收貨地址或著把地址發到我的微信,否則視為放棄。
最后,感謝清華大學出版社的贊助!
本文來源網絡,免費傳達知識,版權歸原作者所有。如涉及作品版權問題,請聯系我進行刪除。
《嵌入式Linux驅動大全》