建议采用以下目录结构和编码实践来组织您的 AI 引擎工程,以便明确其用途且便于复用。
- 所有自适应数据流 (ADF) 计算图类定义(即,衍生自计算图类
adf::graph
的所有 ADF 计算图)都必须位于头文件中。在同一个头文件中可包含多个 ADF 计算图定义。该类头文件应包含在main
应用文件中,并在此文件的文件作用域内声明实际顶层计算图。 - 所包含的头文件的顺序应不存在任何依赖关系。所有头文件都必须为自包含文件,并且包含其所需的所有其他头文件。
- 在计算图头文件中不应包含任何文件作用域内的变量或数据结构定义。任何定义(包括
static
)都必须在单独的源文件内声明,可在引用这些源文件的内核的header
属性中识别这些源文件(请参阅 查找表)。 - 仅允许通过
adf::source
将单个源文件指定为内核源文件。在单独的源文件(例如,util.hpp
和util.cpp
)中将子函数定义为库时,变通方法是:- 将所有库源文件都包含在单个头文件内(例如,
lib.hpp
):#pragma once #include <util.hpp> #include <util.cpp>
- 然后,将
lib.hpp
头文件包含在内核源文件中。
- 将所有库源文件都包含在单个头文件内(例如,