DFC 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
DFC 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
DFC 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 GPL
开发语言 C/C++ SHELL 查看源码 »
操作系统 Linux
软件类型 开源软件
开源组织
地区 国产
投 递 者 bbdlg
适用人群 未知
收录时间 2012-11-27

软件简介

   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 --> 完整的运行环境

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (0)

加载中
更多评论
发表了资讯
2013/02/25 00:00

DFC 1.1.0 发布,C/C++项目开发框架

赶在元宵节发布,祝大家新年里心想事成,万事如意! DFC 1.1.0的版本更新主要有: 编译工具由原来的automake改为cmake,为接下来的兼容windows平台作准备; 优化了TCP通信函数,使之更加稳定,增加了UDP通信的模块支持; 修正了一些bug; 将驱动测试开发(TDD)的测试工具unity包含到源代码中,这样同学们就不用四处再找了~ 欢迎大家使用本平台,非常愿意收到大家的拍砖和建议。大家的关注就是我继续优化该平台的动力:)...

2
10
发表了资讯
2012/11/28 00:00

DFC 1.0.0 发布,C/C++项目开发框架

DFC是Dust、Farm和Crop的缩写,意为尘土、田地到庄稼的层次结构。DFC为C/C++项目提供了一个开发流。概括地说,Dust是平台源码,Farm是开发平台,Crop是运行环境。 首先,Dust是一个基础模块的集合,如通信模块、日志模块、错误管理模块、与外部通讯模块等,用户可以很方便的集成新的模块到Dust中。Dust采用TDD开发模式,测试工具为unity,最大程度的保证了模块的可用性。通过执行Dust中的脚本,可以很方便的生成一个名为Farm的开...

6
17
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
2013/03/05 22:47

如何使DFC实现跨平台

DFC的下一个版本就是要兼容WINDOWS,因此牵扯到跨平台的问题,下面将即时记录在WINDOWS的编译过程中遇到的问题。 问题1:工具问题 目前DFC已采用cmake进行编译,因此,在linux下采用cmake直接编译生成可执行文件,在windows下采用cmake-2.8.10.2-win32-x86 + VS2008的方式进行开发。 问题2:编码格式问题 由于微软字符个性的编码格式以及VS平台不能设置字符编码,导致原本在linux下采用UTF-8编码的源代码如包含中文即会导致编译...

0
0
发表了博客
2014/09/26 15:33

WinAPI: DrawFrameControl - 绘制控件

//声明: DrawFrameControl( DC: HDC; {设备环境句柄} const Rect: TRect; {矩形} uType, uState: UINT {控件类型与控件状态} ): BOOL; //控件类型 uType 参数可选值: DFC_CAPTION = 1; {标题按钮} DFC_MENU = 2; {菜单} DFC_SCROLL = 3; {滚动条按钮} DFC_BUTTON = 4; {标准按钮} DFC_POPUPMENU = 5; {弹出菜单} //控件状态 uState 参数可选值: {针对 DFC_CAPTION} DF...

0
0
发表了博客
2012/12/18 11:46

AIX上部署java项目

AIX(Advanced Interactive eXecutive)是IBM开发的一套UNIX操作系统。它符合Open group的UNIX 98行业标准(The Open Group UNIX 98 Base Brand),通过全面集成对32-位和64-位应用的并行运行支持,为这些应用提供了全面的可扩展性。它可以在所有的IBM ~ p系列和IBM RS/6000工作站、服务器和大型并行超级计算机上运行。 将src下的项目打成jar包,lib的里的jar包也拷出来,还有配置文件信息。 在AIX上建立一个文件即类似你的项目...

0
2
发表了博客
2012/12/22 22:56

从零开始建站-0

缘起: 芥末日的前一晚上,想到一个创意,需要建一个网站,结果从开始的平躺到爬起来抓过手机,打开为知笔记(非广告,真的挺好用),又是写又是画,一直折腾到一点半,硬逼着自己睡下了。第二天一大早给同学们讲了眼睛肿的缘由,被各种bs打击,教育了一路,以至于到公司的时候,已经下决定专心搞我的DFC了。可是实在抵不住心痒痒,再到下班的时候,又开始琢磨着两手都要抓了:一边升级DFC,一边学web开发。 作为一名半路出家改...

12
12
发表于DevOps专区
2016/04/02 11:11

redis 3.0尝鲜

1.安装redis wget http://download.redis.io/releases/redis-3.0.5.tar.gz tar zxf redis-3.0.5.tar.gz -C /export/server/ cd /export/servers/redis-3.0.5 make && make install mkdir conf;cp redis.conf conf/ 2.redis集群模式配置 2.1redis主配置文件: vim /export/servers/redis-3.0.5/conf/redis.conf daemonize yes pidfile /var/run/redis.pid tcp-backlog 511 timeout 0 tcp-keepalive 0 loglevel notice logfile "...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
0 评论
35 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部