基于AI的C/C++源码迁移
命令行工具支持通过交互模式逐步引导,满足实时反馈与灵活调整的需求。
操作步骤
- 进入DevKit AI解压后目录,执行命令行工具。
./devkitai_cli
返回信息如下。
================================================================================ DevKit AI 命令行助手 ================================================================================ 您好!我是 DevKit AI 助手,可以帮助您完成以下任务: 1. cpp_migrate - 执行C/C++源码跨架构迁移分析 2. sql_migrate - 执行SQL数据库信创迁移分析 请直接输入您的需求(自然语言描述),例如: - "请帮我把这个MySQL项目的SQL语句转换为GoldenDB数据库的SQL语句,项目路径是xxxx" - "请帮我把这个C++项目进行x86到鲲鹏架构的迁移,项目路径是xxxx" 可用命令: /help - 显示帮助信息 /quit 或 /exit - 退出程序 ================================================================================ [会话ID] 20260520_015115_8bc99a0a >>> - 执行C/C++源码迁移。以对“cpptest”项目进行源码迁移为例。
>>> 帮我把/home/DevKit-AI-x.x.x-Linux-Kunpeng/uploads/20260520_093828_3g54/cpptest/代码从x86迁移到鲲鹏
返回信息如下。
开始 C++ 源码迁移 (鲲鹏架构) AI改写并发数: 2, 超时时间: 100秒 ------------------------------------------------------------ CPPTransform ------------------------------------------------------------ 开始 C++ 源码迁移... Progress: [0%] Progress: [100%] 为文件 mm_testz_si128_x86.c 生成 2 个补丁 完成 C++ 源码迁移,共为 1 个文件生成补丁 ------------------------------------------------------------ CPPAIRewrite ------------------------------------------------------------ 开始 C++ AI 辅助迁移... AI改写配置 - 最大并发: 2, 超时时间: 100秒 C++ AI改写配置 - 最大并发: 2, 超时时间: 100秒 完成 C++ AI 辅助迁移 ------------------------------------------------------------ CPPAIRewriteStatistics ------------------------------------------------------------ 开始 C++ 迁移结果统计... C++ 迁移统计结果: 头文件插入-avx2ki (Header Insertion-avx2ki ) [状态码 100]: 1 个 头文件插入-sse2neon (Header Insertion-sse2neon ) [状态码 200]: 0 个 头文件插入-KunpengTrans (Header Insertion-KunpengTrans) [状态码 1300]: 0 个 内联汇编替换 (Inline ASM Replace ) [状态码 500]: 0 个 变量替换 (Variable Replace ) [状态码 700]: 0 个 插入elif分支 (Insert elif Branch ) [状态码 1000]: 0 个 条件分支 (Conditional Branch ) [状态码 1010]: 0 个 架构包裹 (Architecture Wrap ) [状态码 1600]: 1 个 编译选项插入 (Compile Flags ) [状态码 2900]: 0 个 其他类型 (Other): 共0个 AI判断需要改写 (AI Needs Rewrite ): 0 个 AI判断不需要改写 (AI No Need Rewrite): 0 个 AI改写超时 (AI Rewrite Timeout): 0 个 完成 C++ 迁移结果统计。 ------------------------------------------------------------ CPPPatchApply ------------------------------------------------------------ 开始应用 C++ 迁移补丁... 已生成 result.patch 文件: cpptest_f47f8d95ade14c46bf788cd9e8dd9bbf/project_info/result.patch C++ 修改记录已保存到: cpptest_f47f8d95ade14c46bf788cd9e8dd9bbf/tmp/convert_record.json 已生成 Excel 文件: cpptest_f47f8d95ade14c46bf788cd9e8dd9bbf/project_info/convert_record.xlsx 完成 C++ 补丁应用。原项目路径: cpptest_f47f8d95ade14c46bf788cd9e8dd9bbf/origin,修改后项目路径: cpptest_f47f8d95ade14c46bf788cd9e8dd9bbf/result C++ 源码迁移完成! 结果保存在: cpptest_f47f8d95ade14c46bf788cd9e8dd9bbf C++ 源码迁移已成功完成! 迁移结果摘要: - 迁移项目:cpptest - 源架构:x86_64 - 目标架构:鲲鹏 (AArch64) - 处理文件数:1 个文件 (mm_testz_si128_x86.c) - 生成补丁数:2 个 迁移统计: - 头文件插入 (avx2ki):1 处 - 架构包裹:1 处 - 内联汇编替换:0 处 - 变量替换:0 处 - 条件分支:0 处 - 编译选项插入:0 处 结果保存位置: - 工作目录:/home/DevKit-AI-x.x.x-Linux-Kunpeng/cpptest_f47f8d95ade14c46bf788cd9e8dd9bbf - 原始代码:cpptest_f47f8d95ade14c46bf788cd9e8dd9bbf/origin - 迁移后代码:cpptest_f47f8d95ade14c46bf788cd9e8dd9bbf/result - 补丁文件:cpptest_f47f8d95ade14c46bf788cd9e8dd9bbf/project_info/result.patch - 修改记录:cpptest_f47f8d95ade14c46bf788cd9e8dd9bbf/tmp/convert_record.json - Excel 报告:cpptest_f47f8d95ade14c46bf788cd9e8dd9bbf/project_info/convert_record.xlsx 迁移工作已完成,您可以查看上述目录中的迁移结果和详细报告。是否需要我帮您查看具体的迁移修改内容?
父主题: 功能使用(命令行)