1# h2dtscpp工具
2
3## 简介
4
5h2dtscpp工具由C++语法解释器和代码生成器两部分组成。C++语法解释器解析用户输入的.h文件内容,通过C++语法解析,将文件内容分解为类、方法、入参、成员属性等元素;代码生成器根据从语法解析器得到的这些元素,转换为对应的typescript语法的接口、方法、参数代码,生成.ts文件内容;同时通过语法解析器得到的元素,生成.h文件对应的napi框架代码和接口调用测试代码。
6
7## 约束
8
9系统:建议Windows 10
10
11## 使用方法
12
13### 生成
14
151.安装typescript:使用管理员身份在napi_generator/src/cli/h2dtscpp/src目录下执行命令:
16
17	npm i typescript
18
192.安装stdio:使用管理员身份在napi_generator/src/cli/h2dtscpp/src目录下执行命令:
20
21	npm i stdio
22
233.下载header_parser.exe文件:[header_parser.exe](https://gitee.com/openharmony/napi_generator/releases/tag/生成工具);选择 tool.rar下载并解压,将解压后的文件中的header_parser.exe拷贝到napi_generator/src/cli/h2dtscpp/src/src/tsGen目录下。
24
254.将待转换的.h文件拷贝到napi_generator/src/cli/h2dtscpp/src/src下,如 [cJSON测试三方库](https://gitee.com/openharmony/napi_generator/releases/tag/测试用资源) 的cJSON.h26
275.在napi_generator/src/cli/h2dtscpp/src/src执行以下命令:
28
29```
30node main.js -f cJSON.h
31```
32
33其中,参数详情如下:
34
35-f, 必选参数,待转换的.h文件;如cJSON.h36
37-o, 可选参数,生成路径,默认路径为.h文件所在路径;
38
396.执行成功后在napi_generator/src/cli/h2dtscpp/src/src目录下生成以下文件夹
40
41![](./docs/figures/h2dtscpp_out_example.png)
42
43tsout文件夹下内容如下所示:
44
45![](./docs/figures/h2dtscpp_dtsout_example.png)
46
47testout文件夹下内容如下所示:
48
49![](./docs/figures/h2dtscpp_testout_example.png)
50
51cppout文件夹下内容(部分文件截图)如下所示:
52
53![](./docs/figures/h2dtscpp_cppout_example.png)
54
55### 测试
56
57查看生成代码是否能正确编译,点击下面链接查看:
58
59[工具使用说明](https://gitee.com/openharmony/napi_generator/tree/master/src/cli/h2dtscpp/docs/usage/INSTRUCTION_ZH.md)