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
文档内容是否对您有帮助?