随着IBM pSeries服务器市场占有率的不断增加,AIX操作系统也为越来越多的IT业者所喜爱。AIX作为UNIX家族中出色的一员,有着丰富的开发环境,AIX最新的版本为AIX 5L版本2,最常见的版本为4.3.3,以5L版本为例,缺省安装直接支持J2EE,这里主要介绍AIX系统的C/C++开发部分。
首先应当清楚,AIX并不集成C/C++,要使用这部分功能,必须安装IBM C或者Visual Age C++(包含C编译器),这篇文章只介绍Visual Age C++,将按照Visual Age C++的安装、配置、编译器的使用、程序调试的顺序介绍,使用的平台为AIX 5L。
安装Visual Age C++
Visual Age C++要在AIX 5L上使用,最低的版本为5.0.2,最新的版本为6.0。Visual Age C++是一个功能强大的集成开发环境,和Windows平台的Visual C++一样,从项目的管理、编辑、编译、调试等各方面,提供一系列完善的图形化的操作界面。要完全安装(包含IDE图形界面)Visual Age C++,可遵循以下步骤:
1) 确定IDE图形界面需要的Motif文件集已经安装,命令如下: lslpp -l X11.compat.adt.Motif12 如没有安装,应先从AIX操作系统安装介质安装这一文件集。
2) 将Visual Age C++的安装介质放入机器的光驱中 注意,如果是Visual Age C++的产品盘,并不需要mount CD盘
3) 开始安装Visual Age C++文件集,命令如下:smitty install_latest 安装目录选择光区,使用F4键选择,如下, 回车后将显示如下界面:
如需要选择安装部分文件集,可在_all_latest菜单项下按F4键,使用F7键选择要安装的文件集,按回车键即可。
上面介绍的是是一种完整的安装方式,如果只是使用C/C++的编译器,不许要安装Visual Age C++的图形界面,可借助于下面的命令:
installp -aXgd /dev/cd0 vacpp.cmp
这条命令的运行结果是安装我们需要的所有文件集。
配置Visual Age C++
正确安装完Visual Age C++以后,还不能立刻使用,需要配置使用许可才可以正确使用。Visual Age C++的使用许可通过LUM(License Use Management)系统管理,所以正确的配置方法是先配置LUM服务器,再配置Visual Age C++的使用许可。
第一步:配置LUM
LUM在AIX 4.3.3及5L版本中是一个必须的部件,系统的初始安装过程中已经安装,但是并没有配置,使用i4cfg命令配置,如下:
# cd /usr/opt/ifor/bin # ./i4cfg -a n -S a
这条命令将配置LUM成为并发的节点锁定服务器工作方式(Concurrent Nodelock Server),如果没有错误输出,下一步是启动LUM服务器:
# ./i4cfg -start
之后,可以用以下命令检测LUM服务器的工作状态:
# ./i4cfg -list
将显示为:
第二步:配置Visual Age C++的使用许可
正确安装Visual Age C++产品以后,可以在/usr/vac和/usr/vacpp两个目录下看到后缀为lic的文件,这些文件记载了Visual Age C++的使用许可协议,需要做的就是将需要的许可协议添加到LUM的管理中。使用的命令为i4blt,使用方法为:
i4blt -a -f license_file_name -R u -T license_num
具体过程如下: 首先添加C的使用许可, #cd /usr/opt/ifor/bin #./i4blt -a -f /usr/vac/cforaix_cn.lic -R u -T 10 然后再配置C++的使用许可, #./i4blt -a -f /usr/vacpp/vacpp_cn.lic -R u -T 10
在上面的例子中配置的许可数为10,正确的配置完后可通过如下命令验证许可数是否正确或许可协议有没有正确的被添加,
i4blt -sl cn
注意以上的配置是在AIX 5L版本上进行的,如在AIX 4.3.3版本上,则i4cfg、i4blt命令存在/var/ifor/bin目录下。
Visual Age C++的使用
安装、配置以后,可以使用C/C++编译器了,但当你运行cc时却发现,cc没有找到,不必怀疑安装的正确性,这是没有设置环境变量的缘故,在/usr/vac/bin目录下有一个脚本文件replaceCSET,它会完成这一切。
可以用一个经典的小程序hello.c来测试一下编译器的正确性,程序内容如下:
#include <stdio.h> main() { printf("Hello!\n"); }
编译、连接:
cc -o hello hello.c
将生成hello可执行程序。
一般情况下,我们习惯直接使用cc编译程序,实际上AIX的C/C++编译器还提供了其他的使用方法,如后缀为_r就有xlc_r、xlC_r,这里我们做一个完整的介绍。
AIX平台上缺省的C++编译器为xlC,而C的编译器有三个:
cc: 这是最习惯用的,扩展模式的C编译器 xlc: ANSI C编译器,使用UNIX的头文件 c89: ANSI C编译器,使用ANSI头文件
具体选择何种编译器,需根据程序的情况来选择,一般我们可以使用cc。另外,还有一些后缀供我们选择,结合以上的基本编译器,给我们提供了更大的选择范围,如下:
_r
|
连接UNIX98标准线程库 |
_r4
|
连接POSIX Draft4(DCE)标准线程库 |
_r7
|
连接POSIX Draft7标准线程库 |
128
|
Double型类型为128位并使用连接相关的库 |
128_r
|
Double类型为128位并使用UNIX98线程库 |
128_r4
|
Double类型为128为并使用连接POSIX Draft4线程库 |
128_r7
|
Double类型为128位并使用连接POSIX Draft7线程库 |
另外,UNIX98已经兼容涵盖了UNIX95、POSIX标准的内容,所以,如果程序中使用到线程函数,只许增加后缀_r就可以了。举例说,编译连接ANSI C并使用POSIX线程库,可以使用xlc_r编译器,当然也可以使用xlc -lpthread的形式。
这里提到的只是最基本的东西,还有很多方面的内容并没有介绍到,例如如何生成使用动态库,这些更详细的东西需要参考相关的手册,或拨打IBM技术支持电话寻求技术支持。
程序调试
调试程序比较复杂,一方面需要我们借助一些调试工具,如dbx 、truss、tprof等,另一方面也需要我们具有一些调试经验。
这里介绍一个用dbx调试运行中的程序的方法,重点在于调试步骤,而不在于dbx工具的使用,以一个简单的程序为例,程序为:
#include <stdio.h> main() { long count=0; int loop_count;
while(1) { count *= (count++); printf(" Test debug, count : %ld\n", count); for (loop_count = 0; loop_count < 10; loop_count++) { sleep(1); } } }
程序名为dbg.c
调试步骤如下: 1) 编译dbg.c xlc -g -o dbg dbg.c
2) 运行dgb程序 ./dbg
3) 查看dbg程序的进程ID ps -ef | grep dbg | grep -v grep 假设dbg的PID为12345
4) 调试dbg程序 dbx -a 12345
5) 这时我们运行dbx的命令调试dbg程序了,下面是几个常用的命令: step : 单步运行 stop at line_number : 在某一行设置断点 stop in subroutine_name: 设置断点到某一个函数 cont : 继续运行
6) 退出调试
注意退出时应使用detach而不是exit,否则会影响程序的运行,导致程序退出。
这篇文章只是简单介绍AIX的开发环境,实际工作中用到的内容将远远不止这些知识,需要开发者查阅大量的相关资料,或访问以下网址:
http://www-900.ibm.com/developerWorks/cn/index.shtml
|
相关推荐
在本文档中,我们讨论了如何在AIX 5.3环境下配置一个基于Discuz论坛的Web服务系统,包括安装和配置AIX基础环境、MySQL数据库、Apache Web服务器以及PHP编程语言。 首先,为了搭建这样的环境,需要安装一系列的开发...
本文将详细介绍如何在AIX上部署一个包含Oracle 10g数据库的开发环境。 #### 二、在AIX上安装Oracle 10g ##### 2.1 准备工作 1. **下载Oracle 10g安装包**:首先从Oracle官网或其他可信渠道下载Oracle 10g的安装...
在IT领域,AIX(Advanced Interactive eXecutive)是一种由IBM开发的UNIX操作系统,尤其在大型企业和关键业务系统中广泛应用。Oracle数据库是全球最受欢迎的数据库管理系统之一,它提供了高效、安全的数据存储和管理...
AIX安装手册详细介绍了从规划到实施的全过程,包括但不限于以下关键步骤: 1. **环境准备**:确定硬件兼容性,检查服务器硬件配置,如内存、磁盘空间等,确保满足AIX最低安装需求。 2. **介质准备**:了解如何获取...
【AIX系统及命令介绍】 AIX(Advanced Interactive eXecutive)是IBM开发的一款针对Power架构的操作系统,属于UNIX的一个变种。AIX系统以其高效稳定和强大的性能深受企业和数据中心的青睐。以下是对AIX系统及其命令...
AIX(Advanced Interactive Executive)是由IBM公司开发的一种基于Unix的操作系统,主要用于IBM Power Systems服务器。AIX在企业级应用领域拥有广泛的应用基础,特别是在金融、电信等行业。 ### AIX操作系统的特性...
本文旨在详细介绍如何在 IBM AIX 6.1 操作系统环境中进行 Java JRE 和 SDK 的安装及卸载,并对相关的环境变量配置方法进行了详尽的说明,帮助用户在该平台上顺利搭建起 Java 开发与运行环境。 #### 二、准备工作 ...
本压缩包“gc.zip”包含了在AIX7.1上搭建GCC6开发环境所必需的所有组件。 GCC6是GCC的一个较新版本,提供了许多改进和新特性,如C++14标准的完整支持、性能优化以及对最新硬件的更好利用。在AIX系统上安装GCC6可以...
在完成这些步骤后,AIX 5.3系统将具备C++编译和bash shell的功能,可以支持开发和执行C++程序。记得在安装过程中可能需要root权限,并且要确保所有依赖项都已安装,以避免安装过程中遇到问题。在安装完成后,你可以...
AIX (IBM):AIXJava开发环境搭建.docx
通过模拟器,用户无需实际购买和维护昂贵的硬件,就能体验到与真实p970相同的运行环境,这对于软件开发、系统测试、故障排除以及学习AIX系统的管理与配置来说,无疑是一个极具价值的资源。 使用IBM AIX模拟器,用户...
AIX(Advanced Interactive Executive)是IBM公司开发的一款基于AT&T Unix System V的类UNIX操作系统,主要用于IBM Power架构的服务器和工作站上。由于其高度依赖于IBM专有的硬件平台,如Power系列处理器,因此在非...
AIX(Advanced Interactive eXecutive)是IBM开发的开放标准操作系统,基于UNIX System V Release 4,并加入了POSIX和Open Group的UNIX标准。AIX 2009是其在2009年发布的一个版本,带来了许多新特性和改进,旨在提升...
### AIX基础知识详解 ...通过上述介绍,我们可以看出AIX作为一款成熟稳定的UNIX变种操作系统,在企业级应用领域具有重要的地位。无论是对于系统管理员还是开发者来说,掌握AIX的基本知识都是非常必要的。
**AIX系统用户入门介绍** AIX(Advanced Interactive eXecutive)是IBM开发的一款强大的UNIX操作系统,主要用于IBM Power Systems服务器。AIX以其稳定性、安全性和高性能而闻名,广泛应用于企业级服务器环境,如...
JDK8是Oracle公司发布的一个重要版本,包含Java编译器、JRE(Java Runtime Environment)以及一系列工具,如Javadoc、JShell(也称为REPL,Read-Eval-Print Loop)等,为开发者提供了完整的Java开发环境。...
按照屏幕提示进行操作,选择安装类型(如开发环境或生产环境)、安装位置、管理服务器等配置。 5. **配置Domain**: 安装完成后,需要创建一个Domain来管理WebLogic Server实例。通过`WLST`(WebLogic Scripting ...
AIX(Advanced Interactive eXecutive)是IBM开发的一种强大的Unix变体,广泛应用于企业级服务器。 首先,让我们理解标题"AIX安装sqluldr2"。sqluldr2是SQL*Loader的命令行版本,通常用于非交互式地大量导入数据。...
AIX,全称Advanced Interactive eXecutive,是由IBM开发的一种Unix操作系统,广泛应用于IBM的Power Systems服务器上。这个JDK版本对于在AIX系统上开发、运行Java应用程序至关重要。 IBM的JDK1.8 64位版本包含了Java...
在AIX 7操作系统环境下,安装和管理软件包与Linux或其他UNIX系统略有不同。本话题主要涉及如何在AIX上安装ZIP工具,以及如何使用`unzip`命令解压缩ZIP文件。AIX(Advanced Interactive eXecutive)是IBM开发的一种...