NVIDIA/stdexec 开源项目教程
1. 项目的目录结构及介绍
NVIDIA/stdexec 项目的目录结构如下:
stdexec/
├── CMakeLists.txt
├── README.md
├── include/
│ └── exec/
│ ├── __concepts.hpp
│ ├── __config.hpp
│ ├── __context.hpp
│ ├── __debug.hpp
│ ├── __delegate.hpp
│ ├── __env.hpp
│ ├── __factory.hpp
│ ├── __impl.hpp
│ ├── __invoker.hpp
│ ├── __meta.hpp
│ ├── __receiver.hpp
│ ├── __scheduler.hpp
│ ├── __sender.hpp
│ ├── __traits.hpp
│ ├── __types.hpp
│ ├── __utils.hpp
│ ├── __v1/
│ │ ├── __concepts.hpp
│ │ ├── __config.hpp
│ │ ├── __context.hpp
│ │ ├── __debug.hpp
│ │ ├── __delegate.hpp
│ │ ├── __env.hpp
│ │ ├── __factory.hpp
│ │ ├── __impl.hpp
│ │ ├── __invoker.hpp
│ │ ├── __meta.hpp
│ │ ├── __receiver.hpp
│ │ ├── __scheduler.hpp
│ │ ├── __sender.hpp
│ │ ├── __traits.hpp
│ │ ├── __types.hpp
│ │ └── __utils.hpp
│ └── __v2/
│ ├── __concepts.hpp
│ ├── __config.hpp
│ ├── __context.hpp
│ ├── __debug.hpp
│ ├── __delegate.hpp
│ ├── __env.hpp
│ ├── __factory.hpp
│ ├── __impl.hpp
│ ├── __invoker.hpp
│ ├── __meta.hpp
│ ├── __receiver.hpp
│ ├── __scheduler.hpp
│ ├── __sender.hpp
│ ├── __traits.hpp
│ ├── __types.hpp
│ └── __utils.hpp
├── src/
│ ├── CMakeLists.txt
│ ├── __concepts.cpp
│ ├── __config.cpp
│ ├── __context.cpp
│ ├── __debug.cpp
│ ├── __delegate.cpp
│ ├── __env.cpp
│ ├── __factory.cpp
│ ├── __impl.cpp
│ ├── __invoker.cpp
│ ├── __meta.cpp
│ ├── __receiver.cpp
│ ├── __scheduler.cpp
│ ├── __sender.cpp
│ ├── __traits.cpp
│ ├── __types.cpp
│ └── __utils.cpp
└── tests/
├── CMakeLists.txt
├── __concepts_test.cpp
├── __config_test.cpp
├── __context_test.cpp
├── __debug_test.cpp
├── __delegate_test.cpp
├── __env_test.cpp
├── __factory_test.cpp
├── __impl_test.cpp
├── __invoker_test.cpp
├── __meta_test.cpp
├── __receiver_test.cpp
├── __scheduler_test.cpp
├── __sender_test.cpp
├── __traits_test.cpp
├── __types_test.cpp
└── __utils_test.cpp
目录结构介绍
CMakeLists.txt
: 用于构建项目的CMake配置文件。README.md
: 项目说明文档。include/
: 包含项目的头文件。exec/
: 主要的功能头文件。__v1/
和__v2/
: 不同版本的头文件。
src/
: 包含项目的源文件。tests/
: 包含项目的测试文件。
2. 项目的启动文件介绍
项目的启动文件通常是 CMakeLists.txt
,它位于项目根目录下。这个文件用于配置和构建项目。以下是 CMakeLists.txt
的基本内容:
cmake_minimum_required(VERSION 3.12)
project(stdexec)
set(CMAKE_CXX_STANDARD 17)
include_directories(include)
add_subdirectory(src)
add_sub