更新时间:2021-08-31 GMT+08:00
分享

多指令转换

扫描源代码

  1. 从Github下载代码样例mult_inline_asm获取待使用的软件源码包。
  2. 进入Porting Advisor“源码迁移”菜单进行扫描分析。

    单击“上传”,上传已下载的mult_inline_asm文件夹,并点击输入框,选择源代码mult_inline_asm。其它选项根据实际的情况进行选择,如图1所示。

    图1 扫描分析界面

  3. 单击“开始分析”,进行分析并得到扫描分析报告,如图2所示。

    图2 扫描分析报告

修改源代码

  1. 单击源码迁移报告的“源码迁移建议”页签,如图3所示。

    图3 源码迁移建议

  2. 单击左侧“文件列表”框中的内容进行查看对象,如图4所示。

    图4 文件列表

  3. 根据迁移报告修改文件。在“源码迁移建议”页面,检查文件的修改建议,并根据建议进行源代码修改。

    在“源码迁移建议”页面,查看gcd.c文件的修改建议,如图5所示。

    图5 gcd.c修改建议

    根据以上建议,quick fix 修改后的代码(修改时进行了x86_64分支和aarch64分支的区分处理),如图6所示。

    图6 修改后的代码

编译

  1. 使用SSH远程登录工具登录服务器。
  2. 在x86平台执行gcc编译生成二进制文件a.out,执行a.out生成结果,如图7所示。

    图7 x86平台执行编译及二进制文件生成结果

  3. 在鲲鹏平台编译转换后的代码。

    将生成的gcd.c文件传入鲲鹏平台,执行gcc编译,执行生成的二进制文件,与x86平台运行结果一致,源码迁移成功,如图8所示。

    图8 鲲鹏平台编译结果

    <gcd.c> 为迁移工具执行quick fix之后的文件,在鲲鹏平台上执行编译,鲲鹏平台和x86平台执行结果一致,迁移成功。

分享:

    相关文档

    相关产品

close