一个好用的 C 语言工具库!

清远课程2024-06-03 09:32:28  108

TBOX简介TBOX是一个用c语言实现的跨平台开发库。

Github:https://github.com/tboox/tbox Gitee:https://gitee.com/tboox/tbox

针对各个平台,封装了统一的接口,简化了各类开发过程中常用操作,使你在开发过程中,更加关注实际应用的开发,而不是把时间浪费在琐碎的接口兼容性上面,并且充分利用了各个平台独有的一些特性进行优化。

这个项目的目的,是为了使C开发更加的简单高效。

目前支持的平台有: Windows, Macosx, Linux, Android, iOS, * BSD等等。

通过xmake支持各种编译模式:

Release: 正式版编译,禁用调试信息、断言,各种检测机制,启用编译器优化Debug: 调试模式,默认启用详细调试信息、断言、内存越界检测、内存泄漏、锁竞争分析等检测机制Small: 最小化编译,默认禁用所有扩展模块,启用编译器最小化优化Micro: 针对嵌入式平台,仅仅编译tbox微内核,仅提供最基础的跨平台接口,生成库仅64K左右(内置轻量libc接口实现)特性流库针对http、file、socket、data等流数据,实现统一接口进行读写,并且支持: 阻塞、非阻塞、异步 三种读写模式。

支持中间增加多层filter流进行流过滤,实现边读取,内部边进行解压、编码转换、加密等操作,极大的减少了内存使用。

主要提供以下模块:

# 默认直接编译当前主机平台$ 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;

转载此文是出于传递更多信息目的。若来源标注错误或侵犯了您的合法权益,请与本站联系,我们将及时更正、删除、谢谢。
https://www.414w.com/read/684126.html
0
最新回复(0)