Skip to content

dodoma/reef

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

reef - basic tools in c

为何取名 reef?

reef triggerfish = Humuhumunukunukuāpuaa, 一种比较特别的鱼名,仅此而已。

环境

reef 用标准C99编写,运行于 GNU/Linux 系统, 使用了_GNU_SOURCE扩展功能, 在X86 Linux、OSX、和某些 ARM Linux上完成测试。 不保证Solaris, FreeBSD, Windows...下顺利运行。

目的

c 很难用,她只给了我们基础,而非全部,reef 是这个全部的开始。

reef 包括:

  • 字符串、列表、二进制内存块、哈希、字典(mdf)

  • 单元测试框架

  • 线程安全日志

  • 单线程测时工具

  • 错误返回(MERR)

  • json 数据解析

  • message pack 打包、解包

  • 一个写着好玩的正则表达式工具

  • 一个常见网络服务 的客户端API封装(memcache)

  • CGI 协议基础函数

  • HTTP 协议基础函数

为何返回 MERR* 而非 int

函数返回整型,0为正常,其它异常。

reef 没有遵守这个约定,因为我想在程序运行异常时快速定位是谁在第几行调用了谁,是什么鬼与预期不符。 MERR* 可以,虽然使用起来稍显麻烦。

MDF 适合干嘛

mdf 类似 Python 中的 dict, Javascript 中的 object, Lua 中的 Table。有丰富的操作函数。可以用来保存 web 开发 90% 左右的数据。

出了问题怎么办

先写个 test 进行确认,真有问题,你需要看看源代码。

怪异关键字

  • QJYQ - 奇技淫巧

    一些很不规范的操作,谨慎使用。

  • TCTR - too complex to remember

    现实中太复杂的业务场景,或者仅仅是代码实现得太复杂,时间太久容易忘记。照着注释来就行。

About

Reef triggerfish - Humuhumunukunukuāpuaa (https://en.wikipedia.org/wiki/Reef_triggerfish), basic tools in c

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages