客户在升级操作系统之后,需要同步更新编译器软件,以获取最新语言标准支持(例如C++14,C++11等等)、最新硬件支持、更优的编译性能与优化效果。
当前使用的主流K1 Power服务器基于POWER9处理器,采用XL C/C++ V16.1以上版本即可充分利用POWER9处理器特性。
XL C/C++ V16.1在2018年4季度发布,支持生命周期为5+3模式,预期的停止服务时间为2026年4季度(说明:本处信息仅供参考,以IBM发布为准)。
通过IBM product lifecycle网站可以查询XL C/C++生命周期,如下:
https://www.ibm.com/support/pages/lifecycle/search?q=XL%20C%2FC%2B%2B%2016.1
此外,AIX与XL C/C++编译器的兼容性矩阵可以参考如下网页:
AIX OS levels supported by XL Compilers
https://www.ibm.com/support/pages/aix-os-levels-supported-xl-compilers
可知,XL C/C++ V16.1可以支持AIX 7.1/7.2/7.3,特定版本需要安装OS或编译器补丁。
解压编译器介质,并cd到安装目录:
# zcat IBM_XL_C_CPP_V16.1.0.0_AIX_EVAL.tar.Z|tar -xvf -
# cd usr/sys/inst.images
# smitty install_latest
注意编译器包含独有的license协议,需要接受才能完成进一步安装:
完成安装以后,相应的编译命令在/opt/IBM/xlC 以及/opt/IBM/xlc目录下:
# oslevel -s
7300-00-02-2220
# /opt/IBM/xlC/16.1.0/bin/xlC -qversion
/opt/IBM/xlC/16.1.0/bin/.orig/xlC: 1501-287 (S) This compiler does not support AIX 7.3. Please check with IBM (http://www-01.ibm.com/support/docview.wss?rs=43&uid=swg21326972) to see if there is a PTF for this compiler that supports this AIX level.
可以看到,默认安装后,编译时会提示版本不兼容,这是因为补丁版本不匹配,需要登陆IBM fixcentral下载相应的补丁,如图示:
通常我们会选择安装最新的Fix Pack,在本文写作时是FP12,解压然后smitty update_all安装补丁,完成补丁安装后,编译器即可正常运行:
# zcat 16.1.0.12-IBM-xlCcmp-AIX-FP012.tar.Z|tar -xvf -
# smitty update_all
# /opt/IBM/xlC/16.1.0/bin/xlC -qversion
IBM XL C/C++ for AIX, V16.1.0 (5725-C72, 5765-J12)
Version: 16.01.0000.0012
XL C/C++编译器安装后自带了samples示例代码。其中C++示例代码在/opt/IBM/xlC/16.1.0/samples目录下,下面以STL vector类型示例编译过程:
首先将xlC/xlc编译命令目录加入系统路径:
#export PATH=$PATH:/opt/IBM/xlc/16.1.0/bin:/opt/IBM/xlC/16.1.0/bin
# cd /opt/IBM/xlC/16.1.0/samples/stl/vector
# make
Target "all" is up to date.
# touch vector.cpp
# make
xlC -qrtti -blibpath:"/usr/lib:/lib" -c vector.cpp
xlC -qrtti -blibpath:"/usr/lib:/lib" vector.o -o vector
XL C/C++ V16.1编译器除了支持传统的XL编译器前端,还引入了一个基于CLANG的编译器前端。用户可以根据实际需要,选择新的编译
命令xlclang++。例如如果需要使用C++14开发新项目,建议使用xlclang++编译命令。但如果仅仅是对旧项目进行编译器升级,则不建议改动已有编译命令。
简要对比可以参考下表:
详细信息可以参考XL C/C++ V16.1 migration guide:
https://www.ibm.com/docs/en/SSGH3R_16.1.0/pdf/migrate.pdf
如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!
赞6
添加新评论1 条评论
2022-11-03 11:01