---
title: 修改源代码
description: "1. 单击源码迁移报告中“需要迁移的源码文件”右侧相应文件的“查看建议源码”页签，如图1所示。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengdevkithistory/devkit_24/probestpractice/kunpengDevKitProPractice_0027.html
sourcePath: /source/zh/kunpengdevkithistory/devkit_24/probestpractice/kunpengDevKitProPractice_0027.html
indexId: cc29e71d41500e14ad202c06f879d5412467510796f88b39f0f8c1ab79d87b3a92
---
# 修改源代码

1. 单击源码迁移报告中“需要迁移的源码文件”右侧相应文件的“查看建议源码”页签，如图1所示。
  图1 查看建议源码

2. 选择“需要迁移的源码文件”中不同的源码文件进行操作，即可切换至对应源码文件的迁移建议页面，如图2所示。
  图2 源码迁移建议

3. 根据迁移报告，确认有两个文件需要修改。在“源码迁移建议”页面，检查每个文件的修改建议，并根据建议进行源码修改，主要执行两个动作：

  a. 根据“需要迁移的源码文件”中Makefile文件内红色波浪线提示的内容，修改Makefile文件。
  b. 根据“需要迁移的源码文件”中ksw.c文件内红色波浪线提示的内容，修改ksw.c文件。
相应文件修改完成后，务必单击右上角“保存”，保存修改内容。


#### 修改Makefile文件

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

图3 Makefile文件源码迁移建议

具体建议内容如图4和图5所示。

图4 建议源代码1

图5 建议源代码2

根据以上建议，Makefile文件中需要给CFLAGS变量增加选项内容“-march=armv8.2-a -fsigned-char”，同时，还需要删除CFLAGS变量中的选项“-mpopcnt”和“-msse3”。获取并安装鲲鹏系统库（BoostKit-ksl_2.3.1.zip(https://www.hikunpeng.com/zh/developer/boostkit/library/detail?subtab=AVX2KI)）后，在GLIBS变量中添加“-I /usr/local/ksl/include/ -L /usr/local/ksl/lib/ -lavx2ki”。

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

图6 修改后的Makefile


#### 修改ksw.c文件

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

图7 ksw.c文件源码迁移建议

图8 建议源代码

这种提示都是关于intrinsic函数使用方面的内容。根据提供的建议，单击“QuickFix”增加‘#include "avx2ki.h"’到ksw.c文件中，并针对x86和aarch64分别设置头文件包含的分支定义，以确保在代码同时适配x86和aarch64两种架构的情况下完成代码的修改，如下方回显内容所示（以编辑器版本GCC 4.8.5为例）。

```
1    #if defined(__aarch64__)
2       #include "avx2ki.h"
3    #endif
31   #if defined(__x86_64__)
32      #include <emmintrin.h>
33   #endif
```

出现如图8所示的建议时，用户需要访问相应网站，获取对应文件，参考建议进行操作。
