DFCC/C++项目开发框架

联合创作 · 2023-10-01 00:47

   DFC是Dust、Farm和Crop的缩写,为C/C++项目提供了一个开发流。概括地说,Dust是平台源码,Farm是开发平台,Crop是运行环境。首先,Dust是一个基础模块的集合,如通信模块、日志模块、错误管理模块、与外部通讯模块等,用户可以很方便的集成新的模块到Dust中。通过执行Dust中的脚本,可以很方便的生成一个名为Farm的开发平台。Farm提供了简单的接口让用户增加自己的业务代码,通过执行Farm中的脚本,可以生成可执行程序,并将可执行程序、配置文件、辅助工具等打包为发布介质Crop。解压后的Crop将是一个完整的运行环境。
   DFC使用一个全局唯一的配置文件dfc.conf,包含各个子模块的配置信息,dust、farm和crop均使用该配置文件。
   dust和farm均使用各自build目录下的build.sh脚本完成可执行文件及下游平台的生成。


   DFC大体的目录结构:
   [root@localhost dust]# tree -L 2
   .
   |-- README
   |-- build
   |   `-- build.sh                 //编译dust、发布farm等,输入./build.sh help可得到较为详尽的帮助信息
   |-- moduleComm                   //子模块--通信
   |-- moduleErr                    //子模块--错误管理
   |-- moduleLg                     //子模块--与外部通讯
   |-- moduleLog                    //子模块--日志
   |-- moduleMem                    //子模块--内存泄漏查找
   |-- moduleTools                  //子模块--常用工具库
   |-- script                       //包含各种有用的脚本
   `-- platform                     
       |-- dfc.conf                 //DFC平台唯一的配置文件
       |-- main.c                   //dust平台总模块--源文件
       |-- main.h                   //dust平台总模块--头文件
       |-- userapp.c                //demo--源文件
       |-- userapp.h                //demo--头文件
       |-- crop_README              //crop的README
       |-- crop_install.sh          //crop的安装脚本
       |-- dust2farm.sh             //dust到farm的打包脚本,由build.sh调用
       |-- farm2crop.sh             //farm到crop的打包脚本,由farm_build.sh调用
       |-- farm_README              //farm的README
       |-- farm_build.sh            //farm的编译脚本
       |-- farm_CMakeLists.txt      //farm的cmake总配置文件
       `-- farm_src_CMakeLists.txt  //farm的cmake用户配置文件


   一个较为完整的开发过程如下:
   (Dust开发者)
         dust_1.0.0 --> ./build.sh dust --> dfc(测试demo) --> 开发完成 --> ./build.sh farm --> farm_1.0.0.tar.gz
   (Farm开发者)
         farm_1.0.0.tar.gz --> farm_1.0.0 --> ./build.sh farm --> dfc(测试demo) --> 开发完成 --> ./build.sh crop --> crop_1.0.0.tar.gz 
   (运维人员)
         crop_1.0.0.tar.gz --> crop_1.0.0 --> ./install.sh --> 完整的运行环境

浏览 14
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报