RS6000程序编译与Makefile中的伪目标
需积分: 15 80 浏览量
更新于2024-08-26
收藏 59KB PPT 举报
"了解如何在RS6000平台下使用makefile进行程序构建,特别是关于伪目标`clean`的使用,以及AIX平台上的C编译器和相关工具的介绍。"
在RS6000平台上,makefile是用于自动化构建、编译和链接程序的重要工具。`clean`是一个典型的伪目标,它不对应任何实际的输出文件,而是用于清理编译过程中生成的临时文件和目标文件。在给定的描述中,`clean:`后面跟着的是清理命令,如`rm *.o temp`,这会删除所有`.o`对象文件和名为`temp`的文件。执行`make clean`时,这些命令会被运行以保持工作目录的整洁。
在编写Makefile时,伪目标的命名需避免与实际文件名冲突,否则它们将失去作为伪目标的意义,因为make会尝试构建实际的文件。此外,伪目标通常用于定义一系列自定义的任务,如编译清理、代码格式化等。
RS6000上的程序编译涉及多个步骤和工具。预备工作中,开发者需要了解编译的不同文件类型,如源代码文件、运行时生成的可执行文件、静态库文件和动态库文件。运行文件可以通过不同类型的C编译器创建,例如cc、xlc、xlc_r、xlC和xlC_r,它们分别对应不同的编译模式和线程库支持。
AIX平台上的C编译器各有特点,cc是常用的扩展模式C编译器,xlc遵循ANSI C标准,而c89则使用ANSI头文件。不同后缀的编译器支持不同级别的线程库,例如_r后缀的编译器用于连接线程库。编译器的常用参数包括-o指定输出文件名、-c生成对象文件、-g生成调试信息、-I添加头文件搜索路径、-L添加静态库搜索路径等。
预编译工具如Oracle的PROC(PRO*C)允许将SQL语句嵌入C程序中,通过预编译过程将SQL转化为对ORACLE运行库的调用。PROC的参数如`define=__64BIT__`和`config=xxx.cfg`用于配置预编译行为。
静态库的管理使用`ar`工具,它可以添加、删除或提取库中的文件,如`-d`删除文件,`-r`替换文件,`-v`显示详细信息,`-x`展开文件,以及`-t`列出文件列表。静态库的编译也需要考虑`-I`和`-L`参数来指导头文件和库的查找。
动态库的生成则涉及到链接器`ld`,`-b3264OBJECT_MODE`这样的选项用于指定对象模式,`glink`用于处理未定义的函数和全局符号。
RS6000平台上的程序构建涉及复杂的编译、链接和库管理,熟练掌握makefile和相关工具的使用对于高效开发至关重要。理解伪目标的概念,以及各种编译器和工具的参数,可以帮助开发者更好地管理和维护他们的项目。
点击了解资源详情
点击了解资源详情
120 浏览量
132 浏览量
2024-03-24 上传
2019-10-08 上传
106 浏览量
105 浏览量
![](https://profile-avatar.csdnimg.cn/5e8459474d234afd9b75192ae6ee76ce_weixin_42206399.jpg!1)
劳劳拉
- 粉丝: 21
最新资源
- Cairngorm中文版:Flex应用设计指南
- ThinkPHP 1.0.0RC1 开发者手册:框架详解与应用构建
- ZendFramework中文手册:访问控制与认证
- 深入理解C++指针:从基础到复杂类型
- Java设计模式详解:从基础到高级
- JavaScript高级教程:深入解析基础与对象
- Qt教程:从Hello World到GUI游戏开发
- RealView编译工具链2.0:链接程序与实用程序深度解析
- Unicode编码与.NET Framework中的实现
- Linux内核0.11完全注释 - 赵炯
- C++ 程序设计员面试试题深入分析与解答
- Tomcat深度解析:配置、应用与优势
- 车辆管理系统:全面解决方案与功能设计
- 使用JXplorer连接Apache DS LDAP服务器指南
- 电子商务环境下的企业价值链分析及增值策略
- SAP仓库管理系统详解:灵活高效的库存控制