---
title: 修改源代码
description: "1. 单击源码迁移报告下方的“查看建议源码”，如图1所示。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengdevps/portingadvisor/demo/KunpengDevKitDsug_0007.html
sourcePath: /source/zh/kunpengdevps/portingadvisor/demo/KunpengDevKitDsug_0007.html
indexId: d3bf69215d69cd60f3a5b0ea9c9595c036d0fd46e732eefccce43a5e949d858d71
---
# 修改源代码

1. 单击源码迁移报告下方的“查看建议源码”，如图1所示。
  图1 源码迁移建议

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

3. 根据迁移报告所知存在五个文件需要修改。在“源码迁移建议”页面，检查每个文件的修改建议，并根据建议进行源代码修改。

  -     修改Makefile文件

  -     修改file_lock.c文件

  -     修改ksw.h文件

  -     修改ksw.c文件

  -     修改interface.s文件


#### 修改Makefile文件

在“源码迁移建议”页面，查看Makefile文件的修改建议，如下图所示。

图3 Makefile修改建议

根据以上建议，Makefile文件中需要给FLAGS变量增加选项内容“-march=armv8.2-a -fsigned-char”。

本次样例以鲲鹏920为例，不同运行平台，编译选项可能会有不同，请以实际修改建议为准。


图4 Makefile修改建议2

根据建议中的链接获取鲲鹏系统库2.3.1历史版本进行安装，并根据建议在FLAGS变量后增加“-I /usr/local/ksl/include/ -L /usr/local/ksl/lib/ -lavx2ki -lm”。

修改后的代码（修改时进行了x86_64分支和aarch64分支的区分处理），如图5所示。

图5 修改后的代码


#### 修改file_lock.c文件

在“源码迁移建议”页面，查看file_lock.c文件的修改建议，如图6所示，有三处修改点。

图6 file_lock.c修改建议

1. 迁移建议如  图7
所示。
  图7 迁移建议1

  单击“Quick Fix > 替换成建议代码”之后，如图8所示。

  图8 Quick Fix

  根据“Description”里的Note提示检视“suggestion”里面的替换代码是否合适。

  如果根据Note检查建议代码通过后，请删除注释符“//”。修改后的代码如图9所示。

  图9 修改后的代码

2. 迁移建议如  图10
所示。
  图10 迁移建议2

  单击“Quick Fix > 替换成建议代码”之后，如图11所示。

  图11 Quick Fix

3. 迁移建议如  图12
所示。
  图12 迁移建议3

  单击“Quick Fix > 替换成建议代码”之后，如图13所示。

  图13 Quick Fix

  根据“Description”里的Note提示检视“suggestion”里面的替换代码是否合适。

  如果根据Note检查建议代码通过后，请删除注释符“//”。修改后的代码如图14所示。

  图14 修改后的代码


#### 修改ksw.c文件

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

图15 ksw.c修改建议

以上提示是关于intrinsic函数使用方面的内容。根据提供的建议，需要增加avx2ki.h头文件到ksw.c中。修改后的代码如图16所示。

图16 修改后的代码


#### 修改ksw.h文件

在源码迁移建议页面，查看ksw.h文件的修改建议，如图17所示，有两处修改点。

图17 ksw.h修改建议

1. 迁移建议如  图18
所示。
  图18 迁移建议1

  单击“Quick Fix > 在本文件中批量修改该类建议”之后，如图19所示。

  图19 Quick Fix

2. 迁移建议如  图20
所示。
  图20 迁移建议2

  单击“Quick Fix > 替换成建议代码”之后，如图21所示，鲲鹏系统库无需重复安装。

  图21 Quick Fix


#### 修改interface.s文件

在“源码迁移建议”页面，查看interface.s汇编文件的修改建议，如图22所示。

图22 interface.s修改建议

单击“Quick Fix > 替换成建议代码”之后，修改后的代码如图23所示。

图23 修改后的代码
