---
title: 简介
description: "C风格的图构建器结构体，C、C++的内部实现类，C用户构图调用esb_funcs.h接口即可，C++用户调用EsGraphBuilder类的对外接口即可。"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/API/ascendgraphapi/atlasgeapi_07_0437.html
sourcePath: /source/zh/canncommercial/900/API/ascendgraphapi/atlasgeapi_07_0437.html
indexId: 1bff1a3c32383ce30bff636c783f7bc275868a1e712321db61ef5a487812e19f72
---
# 简介

C风格的图构建器结构体，C、C++的内部实现类，C用户构图调用esb_funcs.h接口即可，C++用户调用EsGraphBuilder类的对外接口即可。

#### 需要包含的头文件

```
#include <es_c_graph_builder.h>
```


#### Public成员函数

```
EsCGraphBuilder()
explicit EsCGraphBuilder(const char *name)
~EsCGraphBuilder()
EsCGraphBuilder(EsCGraphBuilder &&) noexcept
EsCGraphBuilder &operator=(EsCGraphBuilder &&) noexcept
EsCTensorHolder *GetTensorHolderFromNode(const ge::GNode &node, int32_t output_index)
EsCTensorHolder *AppendGraphInput(const ge::char_t *name = nullptr, const ge::char_t *type = nullptr)
EsCTensorHolder *AddGraphInput(int32_t index, const ge::char_t *name = nullptr, const ge::char_t *type = nullptr, C_DataType data_type = C_DT_FLOAT, C_Format format = C_FORMAT_ND, const int64_t *dims = nullptr, int64_t dim_num = 0)
ge::Status SetGraphOutput(EsCTensorHolder *tensor, int64_t output_index)
ge::Graph *GetGraph()
std::unique_ptr<ge::Graph> BuildGraphAndReset()
ge::AscendString GenerateNodeName(const ge::char_t *node_type)
std::vector<EsCTensorHolder *> *CreateDynamicTensorHolderFromNode(const ge::GNode& node, int32_t start_idx, int32_t output_num)
T *AddResource(std::unique_ptr<T> value, std::function<void(void*)> deleter = DefaultDeleter<T>)
```
