CGraph 技术文档
安装指南
系统要求
CGraph
是一个跨平台的框架,支持 MacOS
, Linux
, Windows
和 Android
操作系统。
预备环境
确保您的开发环境已安装了符合C++11或更高标准的编译器。
获取源代码
您可以从 GitHub 下载源代码:
git clone https://github.com/ChunelFeng/CGraph.git
编译与构建
对于大多数操作系统,推荐使用 CMake
进行项目构建。首先,进入项目目录,然后执行以下命令来生成构建文件:
cd CGraph
mkdir build && cd build
cmake ..
make
在 Windows 上,如果你使用 Visual Studio,可以打开 .sln
文件进行编译。
详细编译选项和特定IDE的集成步骤,请参照项目中的 CGraph 编译说明。
项目的使用说明
快速入门
创建节点
#include "CGraph.h"
class MyNode : public CGraph::GNode {
public:
CStatus run() override {
// 实现节点的运行逻辑
printf("Node running...\n");
return CStatus();
}
};
构建图
在 main.cpp
中,按照以下步骤创建与执行图:
// 初始化流水线
GPipelinePtr pipeline = GPipelineFactory::create();
// 创建并注册节点
GElementPtr myNode = nullptr;
pipeline->registerGElement<MyNode>(&myNode, {}, "myNode");
// 处理图
pipeline->process();
设置依赖关系
- 示例中展示了如何创建节点及其依赖性,比如节点B依赖节点A的输出,这通过
registerGElement
函数的第二个参数列表完成。
流水线管理
- 可通过
GPipelineFactory
来管理和清除流水线实例。
项目API使用文档
注册节点
使用 registerGElement<T>(...)
注册特定类型T
的节点,其中T
应继承自GNode
。
节点执行
所有自定义节点需重写 run()
方法,该方法是执行的主要逻辑。
参数传递 (Param
)
利用 CGraph
的 Param
类型进行节点间的数据交互。
引入依赖
通过构造依赖链,例如 {a}
表示节点执行前需等待a
完成。
切面(GAspect
)与适配器(GAdapter
)
- 切面:用于增加额外行为,不修改原有节点逻辑。
- 适配器:增强单一节点功能,如添加单例模式或定时执行等功能。
事件(GEvent
)与消息(GMessage
)
- 事件:允许节点响应特定事件,增加了程序的灵活性。
- 消息:用于节点间的通讯,支持跨流水线的消息传递。
项目安装方式
安装过程主要涉及克隆仓库和构建两部分,已在“安装指南”中详细阐述。确保遵循相应的编译指示以适应您的开发环境。
此文档提供了使用 CGraph
框架的基础知识,更高级特性和应用场景的详细说明可参考项目提供的教程和B站视频系列。通过实践这些指导,您可以有效地利用 CGraph
构建复杂的异步处理流程和图执行逻辑。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考