华为账号hw_Zixin,严禁直接盗用侵权!
【学习目标】
了解如何使用代码迁移工具,提高开发者软件源码迁移效率
【代码迁移流程】
实验前准备
MobaXterm工具服务器
- 使用MobaXterm工具,以root用户登录服务器(具体服务器弹性IP、SSH用户名与密码见邮件)
-
进入“鲲鹏代码迁移工具”源码文件存放路径 cd /opt/portadv/portadmin/sourcecode/
-
下载Megahit源码 git clone https://github.com/voutcn/megahit.git
-
将代码进行合并 cd megahit/ && git submodule update --init
-
创建构建文件夹并进入 mkdir build && cd build
-
生成Makefile文件 cmake .. -DCMAKE_BUILD_TYPE=Release
-
修改megahit目录属组 cd ../ && chown -R porting:porting *
登录鲲鹏代码迁移Web界面
- 在鲲鹏社区申请远程实验室操作系统选择OpenEuler。鲲鹏社区-官网丨凝心聚力 共创行业新价值
- 在收到申请成功邮件后根据邮件指引链接VPN(具体账号与密码见邮件信息)
- 访问邮件中的代码迁移工具WEB地址,输入邮件提供的用户名与密码
- 进入代码迁移页面
源码迁移操作
- 1) 源码分析参数填充
- 2)启动一个源码迁移任务,任务执行成功,查看源码报告
3)点击报告源码迁移建议,查看需要迁移的文件
4)根据系统提示的修改建议进行修改(可使用Quick Fix,没有Quick Fix的可以根据修改意见修改)
没有Quick Fix修改例子:根据提示去掉这两个不支持的编译选项
保存修改
有Quick Fix的案例:将Quick Fix后建议修改代码的注释去掉
修改为:
保存修改
5)返回编译器执行命令拷贝头文件操作(将KungpengTrans.h头文件添加到目录下到/opt/portadv/portadmin/sourcecode/megahit/src/utils/)
命令:cp /opt/portadv/tools/inline_asm/config/KunpengTrans.h /opt/portadv/portadmin/sourcecode/megahit/src/utils/
6) 迁移后重新编译,查看编译结果,命令: cd /opt/portadv/portadmin/sourcecode/megahit/build/ && make,编译报错,由于头文件未修改报错:
解决方案:修改头文件
7) 再次执行编译,命令:cd /opt/portadv/portadmin/sourcecode/megahit/build/ && make,可以看到此次编译成功
8)运行程序,查看回显信息,命令cd /opt/portadv/ portadmin/sourcecode/megahit/build/,
然后跑一下测试用例,命令 make simple_test