2016-08-02 ruki
tbox里面针对三个正则库(pcre/pcre2/posix)进行了封装,实现接口统一和跨平台处理,只要xmake在编译配置的时候自动检测到其中一种库,就可以使用了,一般会优先使用pcre2。 如果你不想过多的依赖第三方库,可以切换到posix的正则,调用 xmake f --pcre=false --pcre2=false 把pcre的库禁用了就行了。 首先给个最简单的匹配单个子串的例子: ```c // 执行简单匹配,第二个参数是匹配模式,默认传0就行了 tb_vector_ref_t results = tb_regex_match_done_simple("(\w+)\s+?(\w+)", 0, "he 继续阅读 »
2017-08-17 Xie Jingyi
写在前面 前几天工作时遇到了一个匪夷所思的问题。经过几次尝试后问题得以解决,但问题产生的原因却仍令人费解。查找 SO 无果,我决定翻看 Python 的源码。断断续续地研究了几天,终于恍然大悟。撰此文以记。 more 本文环境: Ubuntu 16.04 (64 bit) Python 3.6.2 使用的 C 源码可以从 Python 官网 获取。 起因 工作时用到了 celery 作为异步任务队列,为方便调试,我写了一个脚本用以启动/关闭 celery 主进程。代码简化后如下: ```python import sys import subprocess ... celery_process = subproces 继续阅读 »
2016-02-05 ruki
新特性 自动检测所有系统libc接口,优先使用系统版本 支持自定义内存分配器,并且能够在debug模式下,获取每次分配的代码位置信息,用于自定义追踪 增加轻量级static_pool来维护整块buffer的内存分配,适合局部管理部分内存,pool虽然也能维护,但是底层基于large_pool,比较重量级,适合全局管理内存 增加stream快速读取全部数据到string的接口 增加adler32 hash算法 增加tb_memmem接口 采用pcre/pcre2/posix regex实现正则表达式库 改进 优化stream,支持对字符设备文件的读写 修改tb_init接口,增加allocator自定义内存分配器参数,实现用户的侵 继续阅读 »
2016-02-05 ruki
New features Add automaticlly check libc interfaces Support custom allocator Add trace for allocator in the debug mode Add static_pool module Add stream interfaces for reading all data to string Add adler32 hash algorithm Add tb_memmem interface Add regex module with pcre, pcre2 or posix regex Changes Optimize stre 继续阅读 »
2017-08-30 ruki
新特性 增加ping测试程序 改进 修改license,使用更加宽松的Apache License 2.0 重命名--smallest=y|n选项到--small=y|n 使用stat64支持大文件信息获取 改进tb_file_copy,更加快速的文件copy,并且修复copy后文件权限丢失问题 改进posix平台下的路径操作 改进socket初始化接口,支持icmp协议 改进xmake.lua,移除内置二进制依赖包文件 Bugs修复 修复创建文件权限不对问题 修复文件和目录路径问题 修复无法移除带有无效软链的目录问题 修复无法移除只读文件问题 #34: 修复缓存时间和协程sleep不准问题 #35: 修复epoll边缘触发模 继续阅读 »
2017-08-30 ruki
New features Add ping demo for network Changes Modify license to Apache License 2.0 Rename --smallest=y|n option to --small=y|n Support stat64 Improve copy speed and fix permissions for tb_file_copy Improve path operation for posix platform Improve socket interfaces and support icmp Improve xmake.lua and remove binar 继续阅读 »