26 Star 110 Fork 48

linuxmail/lib-zc

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

简介

LIB-ZC 是一个Linux平台通用C/C++扩展库.

兼容 Windows/Macos, 支持 GCC/CLANG/MINGW/MSVC, 支持 X64/AMD64/ARM64

模块列表

  • 通用配置, 通用命令行参数, 通用日志
  • BASE64/QUOTED-PRINTABLE/HEX/NCR, URL
  • 字符集转码, 字符集探测
  • 常见的IO函数, 超时IO函数, TCP SOCKET, DNS/IP地址/MAC地址
  • 字符串函数, 时间函数
  • 操作系统函数, 文件操作函数
  • OPENSSL函数, 线程安全,异步SSL,支持SNI
  • IO流(STREAM),支持SSL
  • master/server服务管理框架, server包括异步IO模式和协程模式
  • 异步IO开发框架, 包括 TRIGER, 异步IO, 缓存读写, 定时器, 支持SSL
  • 协程开发框架, 支持文件类(read, lseek, link等)操作协程化,支持锁和条件
  • IO管道(代理)库, 协程风格和异步IO风格
  • MIME 邮件解析库, TNEF 邮件解析库, BASE64/QUOTED-PRINTABLE
  • REDIS 客户端(支持集群)
  • MEMCACHE 客户端
  • httpd服务器库, URL编解码
  • IMAP 客户端
  • POP 客户端
  • JSON 解析库
  • SQLITE3封装
  • 一个全新的CONST DB库
  • 多关键字搜索
  • SQLITE3 代理服务器/客户端
  • 类 REDIS 服务器端

连接或监听地址

  • "domain_socket_somepath"
  • "somedomain:port"

时间/超时

  • 如无特别说明, 所有的时间单位都是秒
  • 如果是毫秒, 函数名或形参会明确提示
  • 实参取值-1则表示无限长

返回值

  • 和(网络)io相关的函数, 如果返回值类型是int, 如果返回 < 0, 表示出错

编译

cmake 环境, 推荐 vscode 开发和编译

得到: libzc.a(基础库) 和 libzc_coroutine.a(协程库)

// Linux平台 make 亦可

帮助文档

在 doc/ 目录下

使用

源码 cpp_sample/, sample/ 下有大量例子,可供参考

libzc.a 在源码目录下, include 文件 在 include/zcc/*.h

$ cat a.cpp 
#include "zcc/zcc_stdlib.h"
int main(int argc, char **argv)
{
  /* foo(); */
  return 0;
}
$ gcc a.cpp ./libzc.a
MIT License Copyright (c) 张岩. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE

简介

LIB-ZC 是一个Linux平台通用C/C++扩展库。兼容 Windows/Macos。 支持 GCC/CLANG/MINGW/MSVC。 支持 X64/AMD64/ARM64。 基本的数据结构封装,master/server服务框架,异步IO,协程,JSON解析,邮件解析,字符集探测,redis、memcache客户端,imap、pop客户端,httpd,websocket,sqlite3 展开 收起
README
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C
1
https://gitee.com/linuxmail/lib-zc.git
git@gitee.com:linuxmail/lib-zc.git
linuxmail
lib-zc
lib-zc
master

搜索帮助