项目开发环境搭建基本流程

一、开发环境搭建

以下举例曾经接触过的项目搭建环境,仅供参考,其他的根据个人项目需求来搭建: 1)ubuntu 上集成工具vscode 2)cmake构建器 3)gcc g++ 9.3.0 以及gdb 9.1 4)使用c++14标准

二、系统框架

三、通信模块

消息总线模式: 数据接收:订阅消息主题 + 处理函数注册 数据发送:发送消息主题 + 处理函数调用

消息总线VS消息队列: (1)消息队列clientAPI权限太大,clientAPI信任级别太高 (2)消息队列clientAPI面向技术,消息总线clientAPI面向技术+业务 (3)消息队列无法隐藏通信细节 (4)消息队列无法实施实时管控 (5)总线的优势:统一入口,简化拦截成本

消息队列:生产者与消费者解耦

四、代码一般结构

├── 3rdparty │ ├── include │ ├── lib_arm │ ├── lib_x86_64 │ └── pkgconfig ├── bin │ ├── config │ ├── lib │ ├── log.properties │ ├── model │ ├── pkgconfig │ └── UbiquitousPerception ├── build │ ├── bin │ ├── CMakeCache.txt │ ├── CMakeFiles │ ├── cmake_install.cmake │ ├── install_manifest.txt │ ├── Makefile │ └── src ├── cmake │ ├── FindCommonFunc.cmake │ ├── FindCompileCfg.cmake │ └── FindCreateFilter.cmake ├── CMakeLists.txt ├── dep │ ├── boost.pkg │ ├── cmm.pkg │ ├── face.pkg │ ├── ffmpeg.pkg │ ├── live555.pkg │ ├── log.pkg │ ├── muduo.pkg │ ├── opencv.pkg │ ├── redis.pkg │ ├── sqlite3.pkg │ └── thrift.pkg ├── doc │ └── 边缘计算端与配置端通信协议.txt ├── include │ ├── common_inc │ └── interface_inc ├── make ├── readme.md ├── script │ ├── 3rdpkgcfg.sh │ ├── build.sh │ ├── genpkgcfg.sh │ └── run.sh └── src ├── alg ├── app ├── CMakeLists.txt ├── common ├── db ├── main └── transfer

五、第三方开源库

通信类:muduo、thrift、onvif等 数据库:redis、squlite 配置库:json

声明:

经验分享 程序员 微信小程序 职场和发展