Make/CMake构建文件

Make/CMake工具用于构建CMakeLists.txt、Makefile文件。CMakeLists.txt、Makefile文件中涉及的迁移内容主要是用于指定数据类型、处理器架构、代码生成等编译选项。本文介绍从x86平台迁移到倚天云服务器时,如何对这些文件进行相应修改。

C/C++添加-mabi=lp64编译选项

-m64是x86平台应用程序编译选项,编译后产生的代码将运行在64位模式下。但是在倚天云服务器上不支持该选型,需将-m64修改为-mabi=lp64

C/C++强制添加-fsigned-char编译选项

char类型在x86架构和ARM架构下默认是否带符号不一致,在x86架构下默认为signed char(有符号字符型),在倚天云服务器默认为unsigned char(无符号字符型)。x86架构代码迁移到倚天云服务器时,需要强制指定char类型变量为signed char(有符号字符型)。

C/C++指定处理器架构选项

在倚天云服务器上编译时,需要将处理器架构的选项march mtune mcpu修改为-march=armv8-a+sve2 -mcpu=neoverse-n1,使编译器能够按照倚天云服务器的微架构和指令集生成可执行程序,以提升性能。

示例说明

从x86平台迁移Make/CMake构建文件到倚天云服务器时,具体代码修改示例如下所示。

原代码:

CFLAGS=-g3 -O2 -DNDEBUG -m64  -Wall -march=corei7

修改后代码:

CFLAGS=-g3 -O2 -DNDEBUG -mabi=lp64 -Wall -march=armv8-a+crc+sve2 -mcpu=neoverse-n1 -fsigned-char