45 lines
1.4 KiB
Markdown
45 lines
1.4 KiB
Markdown
|
|
# mix_cc
|
|||
|
|
version 3.2.2
|
|||
|
|
|
|||
|
|
# mix_cc是什么?
|
|||
|
|
* mix_cc 是由null开发的一个工具类库。
|
|||
|
|
* 它包含了算法、异常处理、json(c++14)、ihyperdb、数学表达式、序列化、共享内存、sql(需要c++17支持),
|
|||
|
|
以及支持这些所需要的额外组成部分。
|
|||
|
|
* 这个工具库需要使用者具有基础的boost、eigen、c++14和json知识。
|
|||
|
|
* 目前异常处理、json、共享内存和ihyperdb的组成部分是比较稳定的,其余部分出现问题可能性较大,需要小心使用。
|
|||
|
|
* 如果需要使用该库,需要添加头文件的同时,添加链接信息,位置在 project/lib/libmix_cc_xxxx.a
|
|||
|
|
|
|||
|
|
## 支持
|
|||
|
|
1. 数学算法
|
|||
|
|
2. DB2 链接和管理 (增删改查,通过json返回结果)
|
|||
|
|
3. iHyperDB链接和管理 (通过numcpp中的ndarray进行处理)
|
|||
|
|
4. 全局异常事件抛出和打印 expection stacktrace
|
|||
|
|
5. json(使用nlohmann_json)
|
|||
|
|
6. 使用STL的共享内存 shm (内置 vector string map)
|
|||
|
|
7. c++ sql 和数据库支持
|
|||
|
|
8. c++ 数学表达式支持
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
## 前置需求
|
|||
|
|
1. 至少支持c++20的编译器,GCC最低10
|
|||
|
|
2. boost 1.75及以上
|
|||
|
|
3. db2 和 ihyperDB
|
|||
|
|
4. cmake3以上
|
|||
|
|
5. Eigen (algorithm下的依赖)
|
|||
|
|
6. nlohmann_json
|
|||
|
|
7. vcpkg作为包管理器(非必须,但是默认需要其提供的cmake)
|
|||
|
|
|
|||
|
|
## 建议使用的工具集为
|
|||
|
|
1. centos7(redhat7)
|
|||
|
|
2. devtoolset10(开启方法自行百度)
|
|||
|
|
3. cmake 3.20
|
|||
|
|
4. python3.7
|
|||
|
|
5. vcpkg进行包管理
|
|||
|
|
|
|||
|
|
## 具体可参考CMakeLists.txt和子项目的readme.md
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|