修改源代码
- 单击源码迁移报告中“需要迁移的源码文件”右侧相应文件的“查看建议源码”页签,如图1所示。
- 选择“需要迁移的源码文件”中不同的源码文件进行操作,即可切换至对应源码文件的迁移建议页面,如图2所示。
- 根据迁移报告,确认有两个文件需要修改。在“源码迁移建议”页面,检查每个文件的修改建议,并根据建议进行源代码修改,主要执行两个动作:
- 根据“需要迁移的源码文件”中Makefile文件内显示红色波浪线提示的内容,修改Makefile文件。
- 根据“需要迁移的源码文件”中ksw.c文件内显示红色波浪线提示提示的内容,修改ksw.c文件。
相应文件修改完成后,务必单击右上角“保存”,保存修改内容。
修改Makefile文件
在“源码迁移建议”页面,查看Makefile文件的修改建议,如图3所示。
根据以上建议,Makefile文件中需要给CFLAGS变量增加选项内容“-march=armv8.2-a -fsigned-char”,同时,还需要删除CFLAGS变量中的选项“-mpopcnt”和“-msse3”。获取并安装鲲鹏系统库(KSL)后,在GLIBS变量前面中添加“-I /usr/local/ksl/include/ -L /usr/local/ksl/lib/ -lavx2ki”。
修改后的代码(修改时进行了x86_64分支和aarch64分支的区分处理),如图6所示。
修改ksw.c文件
在“源码迁移建议”页面,查看ksw.c文件的修改建议,如图7和图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所示的建议时,用户需要访问相应网站,获取对应文件,参考建议进行操作。
父主题: 执行源码迁移