书栈网 · BookStack 本次搜索耗时 0.054 秒,为您找到 52 个相关结果.
  • hash_map的使用

    stl的容器库非常强大,但是为了要兼容各种元素类型,采用了模板进行泛化,这样的好处就是 使用非常的方便,但是编译器会对使用到的每种类型都进行一遍实例化,用的类型太多的话 不仅影响编译速度而且生成的可执行文件也很冗余。 因此,TBOX在设计容器架构的时候,引入tb_element_t类型,来设置容器使用的成员类型,这样 在实现容器通用性的同时,也不会产生过...
  • 使用aiop实现事件等待模式

    事件等待模式,也就所谓的reactor模式,简单的讲就是通过监听等待io的事件,然后将等待就绪可以处理的事件,分发给对应的io处理程序进行处理,这种模式本身并不算是异步io,但是TBOX的asio库,在类unix系统上,也是基于此模型实现的,所以在讲解真正的异步io之前,首先稍微介绍介绍,对asio的底层机制有个大体了解。 在类unix系统,例如linu...
  • 内置双向list和外置双向list_entry的使用

    list的使用 list_entry的使用 TBOX中提供了各种列表操作: list: 元素在内部维护的双向链表 list_entry: 元素在外部维护的双向链表 single_list: 元素在内部维护的单向链表 single_list_entry: 元素在外部维护的单向链表 由于双链和单链的接口使用类似,这里主要就讲解双链的具体使用。 那什...
  • 更新

    dev: 修复ltimer定时器不准问题 修复asio部分内存泄露问题 修复asio/httpd在linux下keepalive模式,响应很慢问题 增强环境变量设置接口 增加进程创建和控制接口 修改xmake.lua支持最新版xmake v2.x, 简化编译配置 增加smallest参数配置选项,实现一键配置最小化编译,禁用所有扩展模块和依赖库 修复w...
  • 内存池架构

    内存整体架构 large_pool small_pool fixed_pool fixed_pool中的slot slot的顺序遍历分配算法优化 string_pool TBOX的内存管理模型,参考了linux kernel的内存管理机制,并在其基础上做了一些改进和优化。 内存整体架构 large_pool 整个内存分配的最底层...
  • 流的读写

    stream是TBOX的最常用的流,一般用于单路io操作,既可以进行阻塞读写,也可以非阻塞的读写。 目前可以支持 数据、文件、套接字、http协议以及各种过滤器的读写操作,也可以很方便的自定义扩展自己的流模块。 流的常用初始化操作 // 初始化文件流 tb_stream_ref_t stream = tb_stream_init_from_u...
  • 工程目标

    target 定义工程目标 target_end 结束定义工程目标 target:set_kind 设置目标编译类型 target:set_strip 设置是否strip信息 target:set_enabled 设置是否启用或禁用目标 target:set_default 设置是否为默认构建安装目标 target:set_optio...
  • 数据库的使用

    TBOX目前支持sqlite3、mysql两种关系型数据库,并对其接口进行了封装,使用更加的方便简洁并且只需要换个url,就可以随时切换成其他数据库引擎,而不需要修改接口。 下面先看个简单的例子: /* 初始化一个mysql数据库 * * localhost: 主机名,也可以是ip地址 * type: 数据库的类型,目前支...
  • 迭代器的使用

    stl的容器库常用模式就是将容器、迭代器和算法的进行分离,容器专于存储,迭代器负责枚举,这样互相独立好处多多。 因此TBOX也借鉴了这种模式,不同的是没用模板,仅仅用了c语言来实现。容器库里面的大部分容器都是继承自迭代器的,所以迭代起来相当的方便。 下面先看个迭代器使用的例子: // 初始化一个双向链表,元素类型为tb_long_t, 满256个元素...
  • 更新日志

    v2.3.1 新特性 改进 Bugs修复 v2.2.9 新特性 改进 Bugs修复 v2.2.8 新特性 改进 Bugs修复 v2.2.7 新特性 改进 v2.2.6 新特性 改进 Bugs修复 v2.2.5 新特性 改进 Bugs修复 v2.2.3 新特性 改进 Bugs修复 v2.2.2 新特性 改...