搜索

TBOX v150 发布轻量级跨平台开发库 - OSCHINA

gecimao 发表于 2019-04-30 04:18 | 查看: | 回复:

  优化.pkg的依赖包机制,支持依赖库和接口的自动检测,针对libc、libm优先使用自动检测到的系统库接口实现,如果当前平台没有实现则使用tbox的自己实现版本,使得最大化性能和跨平台性。。

  TBOX是一个用c语言实现的多平台开发库,支持windows、linux、mac、ios、android以及其他嵌入式系统。

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

  针对http、file、socket、data等流数据,实现统一接口进行读写,并且支持: 阻塞、非阻塞、异步 三种读写模式。 支持中间增加多层filter流进行流过滤,实现边读取,内部边进行解压、编码转换、加密等操作,极大的减少了内存使用。

  async_stream:利用asio实现的纯异步流,基于回调模式,可同时处理大量并发io。

  transfer:传输器,维护两路流的传输,对async_stream的使用进行更上层的封装,用其可以很方便的实现下载、上传、复制等io传输操作。

  transfer_pool:传输池,基于asio,维护大量并发的传输,可以用于实现爬虫、批量下载等等。

  static_stream:针对静态数据buffer优化的静态流,用于轻量快速的数据解析。

  并且对http、ssl、dns也提供了纯异步模式的实现。基于此库完全可以很方便的写出一个高性能的小型服务器。

  统一并简化数据库操作接口,适配各种数据源,通过统一的url来自动连接打开支持的数据库,数据的枚举采用迭代器模型。

  目前支持sqlite3以及mysql两种关系型数据库,也可自定义扩展使用其他关系型数据库。

  针对xml提供DOM和SAX两种解析模式,SAX方式采用外部迭代模式,灵活性和性能更高,并且可以选择指定路径,进行解析。

  解析过程完全基于stream,所以是高度流化的,可以实现边下载、边解压、边转码、边解析一条龙服务,使用较低的内存也可以解析大规模数据。

  参考linux内核内存管理机制的实现,并对其进行各种改造和优化,所实现的TBOX独有的一整套内存池管理架构。

  调试模式下,可以轻松检测并定位内存泄露、内存越界溢出、内存重叠覆盖等常见内存问题,并对整体内存的使用进行了统计和简要分析。

  针对大块数据、小块数据、字符串数据进行了充分的利用,避免了大量外部碎片和内部碎片的产生。分配操作进行了各种优化,96%的情况下,效率都是在O(1)。

  支持各种常用成员类型,在原有的容器期初上,其成员类型还可以完全自定义扩展。

  以迭代器为接口,实现算法和容器的分离,类似stl,但是c实现的,更加轻量。

  扩展memset_u16、memset_u32等接口,并对其进行高度优化,尤其适合图形渲染程序

  libm部分接口的一个轻量级实现,以及对常用系统接口的封装。(目前只实现了部分,之后有时间会完全实现掉)

  扩展部分常用接口,增加对sqrt、log2等常用函数的整数版本计算,进行高度优化,不涉及浮点运算,适合嵌入式环境使用。

  支持对xml、json、binary以及apple的plist(xplist/bplist)格式序列化和反序列化。 并且实现自有的binary序列化格式, 针对明文进行了简单的加密,在不影响性能的前提下,序列化后的大小比bplist节省30%。

  优化stream,支持对字符设备文件的读写 自动检测所有系统libc接口,优先使用系统版本 修复android下的一些bug 修改tb_init接口,增加allocator自定义内存分配器参数,实现用户的侵入式内存管...

  TBOX是一个用c语言实现的多平台开发库,支持 windows、linux、mac、ios、android 以及其他嵌入式系统。 针对各个平台,封装了统一的接口,简化了各类开发过程中常用操作,使你在开发过程中,...

  tbox v1.6.1 发布了。 简介 TBOX是一个用c语言实现的跨平台开发库。 针对各个平台,封装了统一的接口,简化了各类开发过程中常用操作,使你在开发过程中,更加关注实际应用的开发,而不是把时...

  为了进一步裁剪tbox,更好的适配嵌入式开发平台,tbox新增了的微模块编译选项 如果启用此编译选项,那么只会编译tbox里面较轻量的一些模块,是的编译后的库大小,尽量保证在64K左右。 先来讲...

  本次更新为常规更新,主要更新如下: 主要更新 修正chunk方法一处异常抛出的错误 修正模型输出的visible 改进环境变量加载 改进命令行日志的level配置支持 修复设置有缓存前缀时,无法清空缓...

  谷歌和甲骨文两家科技巨头在过去十几年里一直存在竞争,但真正结下过节还是源于甲骨文对谷歌的诉讼。根据甲骨文的说法,谷歌的 Android 操作系统未经许可使用 Java 相关技术是对甲骨文版权和...

  Apache 基金会(ASF)宣布将 Git 服务迁移到 GitHub,完成了项目基础设施支持的扩展。 Apache 软件基金会是最大的开源软件基金会,它的志愿者社区管理着 2 亿多行代码。这些 Apache 项目最初...

  网络安全服务商 Distil Networks 近期发布了关注自动化网络流量现状的 2019 年 Bad Bot 报告,该报告指出在 2018 年,由机器人产生的网络流量占到了所有流量的 37.9%。 报告地址:

  基于中科院 seetaface2 进行封装的 JAVA 人脸识别算法库,支持人脸识别、1:1 比对、1:N 比对。

本文链接:http://baumseelen.com/duipaixu/383.html
随机为您推荐歌词

联系我们 | 关于我们 | 网友投稿 | 版权声明 | 广告服务 | 站点统计 | 网站地图

版权声明:本站资源均来自互联网,如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

Copyright @ 2012-2013 织梦猫 版权所有  Powered by Dedecms 5.7
渝ICP备10013703号  

回顶部