README_zh.md
</a>
<a href="https://github.com/tboox/tbox/actions?query=workflow%3ALinux">
</a>
<a href="https://github.com/tboox/tbox/actions?query=workflow%3AmacOS">
</a>
<a href="https://github.com/tboox/tbox/actions?query=workflow%3AAndroid">
</a>
<a href="https://github.com/tboox/tbox/releases">
</a>
</a>
<a href="https://www.reddit.com/r/tboox/">
</a>
<a href="https://gitter.im/tboox/tboox?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge">
</a>
<a href="https://t.me/tbooxorg">
</a>
<a href="https://jq.qq.com/?_wv=1027&k=5hpwWFv">
</a>
<a href="https://tboox.top/donation/">
</a>
通过成为赞助者来支持该项目。您的logo将显示在此处,并带有指向您网站的链接。🙏 [成为赞助商]
<a href="https://opencollective.com/tbox#backers" target="_blank"></a>
TBOX是一个用c语言实现的跨平台开发库。
针对各个平台,封装了统一的接口,简化了各类开发过程中常用操作,使你在开发过程中,更加关注实际应用的开发,而不是把时间浪费在琐碎的接口兼容性上面,并且充分利用了各个平台独有的一些特性进行优化。
这个项目的目的,是为了使C开发更加的简单高效。
目前支持的平台有: Windows, Macosx, Linux, Android, iOS, *BSD等等。
通过xmake支持各种编译模式:
如果你想了解更多,请参考:在线文档, Github以及Gitee和GitCode。
针对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
$ ./configure
$ make
#include "tbox/tbox.h"
int main(int argc, char** argv) {
if (!tb_init(tb_null, tb_null)) return 0;
tb_vector_ref_t vector = tb_vector_init(0, tb_element_str(tb_true));
if (vector) {
tb_vector_insert_tail(vector, "hello");
tb_vector_insert_tail(vector, "tbox");
tb_for_all (tb_char_t const*, cstr, vector) {
tb_trace_i("%s", cstr);
}
tb_vector_exit(vector);
}
tb_exit();
return 0;
}
你可以考虑赞助我们也获取技术支持服务,[成为赞助商]