18c339a94Sopenharmony_ci# h2dtscpp工具 28c339a94Sopenharmony_ci 38c339a94Sopenharmony_ci## 简介 48c339a94Sopenharmony_ci 58c339a94Sopenharmony_cih2dtscpp工具由C++语法解释器和代码生成器两部分组成。C++语法解释器解析用户输入的.h文件内容,通过C++语法解析,将文件内容分解为类、方法、入参、成员属性等元素;代码生成器根据从语法解析器得到的这些元素,转换为对应的typescript语法的接口、方法、参数代码,生成.ts文件内容;同时通过语法解析器得到的元素,生成.h文件对应的napi框架代码和接口调用测试代码。 68c339a94Sopenharmony_ci 78c339a94Sopenharmony_ci## 约束 88c339a94Sopenharmony_ci 98c339a94Sopenharmony_ci系统:建议Windows 10 108c339a94Sopenharmony_ci 118c339a94Sopenharmony_ci## 使用方法 128c339a94Sopenharmony_ci 138c339a94Sopenharmony_ci### 生成 148c339a94Sopenharmony_ci 158c339a94Sopenharmony_ci1.安装typescript:使用管理员身份在napi_generator/src/cli/h2dtscpp/src目录下执行命令: 168c339a94Sopenharmony_ci 178c339a94Sopenharmony_ci npm i typescript 188c339a94Sopenharmony_ci 198c339a94Sopenharmony_ci2.安装stdio:使用管理员身份在napi_generator/src/cli/h2dtscpp/src目录下执行命令: 208c339a94Sopenharmony_ci 218c339a94Sopenharmony_ci npm i stdio 228c339a94Sopenharmony_ci 238c339a94Sopenharmony_ci3.下载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目录下。 248c339a94Sopenharmony_ci 258c339a94Sopenharmony_ci4.将待转换的.h文件拷贝到napi_generator/src/cli/h2dtscpp/src/src下,如 [cJSON测试三方库](https://gitee.com/openharmony/napi_generator/releases/tag/测试用资源) 的cJSON.h。 268c339a94Sopenharmony_ci 278c339a94Sopenharmony_ci5.在napi_generator/src/cli/h2dtscpp/src/src执行以下命令: 288c339a94Sopenharmony_ci 298c339a94Sopenharmony_ci``` 308c339a94Sopenharmony_cinode main.js -f cJSON.h 318c339a94Sopenharmony_ci``` 328c339a94Sopenharmony_ci 338c339a94Sopenharmony_ci其中,参数详情如下: 348c339a94Sopenharmony_ci 358c339a94Sopenharmony_ci-f, 必选参数,待转换的.h文件;如cJSON.h。 368c339a94Sopenharmony_ci 378c339a94Sopenharmony_ci-o, 可选参数,生成路径,默认路径为.h文件所在路径; 388c339a94Sopenharmony_ci 398c339a94Sopenharmony_ci6.执行成功后在napi_generator/src/cli/h2dtscpp/src/src目录下生成以下文件夹 408c339a94Sopenharmony_ci 418c339a94Sopenharmony_ci 428c339a94Sopenharmony_ci 438c339a94Sopenharmony_citsout文件夹下内容如下所示: 448c339a94Sopenharmony_ci 458c339a94Sopenharmony_ci 468c339a94Sopenharmony_ci 478c339a94Sopenharmony_citestout文件夹下内容如下所示: 488c339a94Sopenharmony_ci 498c339a94Sopenharmony_ci 508c339a94Sopenharmony_ci 518c339a94Sopenharmony_cicppout文件夹下内容(部分文件截图)如下所示: 528c339a94Sopenharmony_ci 538c339a94Sopenharmony_ci 548c339a94Sopenharmony_ci 558c339a94Sopenharmony_ci### 测试 568c339a94Sopenharmony_ci 578c339a94Sopenharmony_ci查看生成代码是否能正确编译,点击下面链接查看: 588c339a94Sopenharmony_ci 598c339a94Sopenharmony_ci[工具使用说明](https://gitee.com/openharmony/napi_generator/tree/master/src/cli/h2dtscpp/docs/usage/INSTRUCTION_ZH.md)