# LibTools **Repository Path**: xiangshan/LibTools ## Basic Information - **Project Name**: LibTools - **Description**: c++跨平台后端公用库,包括进程、线程间的同步、网络通信、文件操作等 - **Primary Language**: C++ - **License**: EPL-1.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 23 - **Created**: 2020-03-01 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README libtools: #目的: Windows和Linux后台开发公共库,代码风格偏向Windows,以便Windows后台代码快速移植至Linux下 #编译平台 vc2008及以上 g++4.4.7及以上,g++生成执行文件所需链接库 -lpthread -rdynamic -lrt #目录结构说明: 1.build:项目工程目录和生成目录 2.src:源代码目录 3.test:测试工程目录 #src目录说明: 1.algorithm:包含一些常用的算法和容器,主要是对stl的补充,不会对stl已有的功能进行开发 2.debug:调试代码目录,目前尚不完备 3.file:文件和目录操作类 4.log:日志操作类 5.socket:socket操作,目前包含udp/tcp server、client端 6.stream:字符串、buffer类功能 7.thread:线程同步类 8.time:时间操作类 9.tools:这里包含所有的底层操作C风格函数 10.ipc:进程间的通信 11.framework:通信框架 #make编译: make STDTYPE=STD11 1.VERTYPE默认选择RELEASE版本,GCCTYPE默认选择X86_64版本,STDTYPE默认不不填,OPTLEVEL默认不使用优化, 2.编译方法:OPTLEVEL表示优化等级,VERTYPE=DEBUG表示编译DEBUG,VERTYPE=RELEASE编译release版本;GCCTYPE=X86_64表示编译64位版本,GCCTYPE=X32表示编译32版本; 3.STDTYPE=STD11是可选项,表示支持c++11语法; 4.除STDTYPE位可选项外其它位必选项 5.直接make, 默认选项为RELEASE、X86_64、STDTYPE默认不不填、OPTLEVEL默认不使用优化 6.gcc在5.0及以上的版本默认开启c++11选项,make编译时可不用传入参数 #当前版本更新内容: 1.增加udp功能 2.删除开发的BasicString类功能 3.修改tcp框架bug,增加退出功能接口函数 4.修改iocp/epoll底层设备服务类bug 5.修改套接字相关功能逻辑 注:linux32位编译逐渐不被支持,尽量使用64机器开发编译。 windows编译应当使用vs2008及以上版本,如果没有对应版本的工程文件可以使用升级方式来使用工程。