Sun Microsystems, Inc.
www.sun.com
请将有关本文档的意见和建议提交至:http://www.sun.com/hwdocs/feedback
Fortran 编程指南
Sun
™
Studio 11
文件号码 819-4759-10
2005 年 11 月,修订版 A
版权所有 © 2005 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, California 95054, U.S.A. 保留所有权利。
美国政府权利 - 商业用途。政府用户应遵循 Sun Microsystems, Inc. 的标准许可协议,以及 FAR (Federal Acquisition Regulations,即 “联邦政
府采购法规”)的适用条款及其补充条款。必须依据许可证条款使用。
本发行版可能包含由第三方开发的内容。
本产品的某些部分可能是从 Berkeley BSD 系统衍生出来的,并获得了加利福尼亚大学的许可。UNIX 是 X/Open Company, Ltd. 在美国和其他国
家/地区独家许可的注册商标。
Sun、Sun Microsystems、Sun 徽标、Java 和 JavaHelp 是 Sun Microsystems, Inc. 在美国和其他国家/地区的商标或注册商标。所有的 SPARC 商
标的使用均已获得许可,它们是 SPARC International, Inc. 在美国和其他国家/地区的商标或注册商标。标有 SPARC 商标的产品均基于由 Sun
Microsystems, Inc. 开发的体系结构。
本服务手册所介绍的产品以及所包含的信息受美国出口控制法制约,并应遵守其他国家/地区的进出口法律。严禁将本产品直接或间接地用于核
设施、导弹、生化武器或海上核设施,也不能直接或间接地出口给核设施、导弹、生化武器或海上核设施的最终用户。严禁出口或转口到美国
禁运的国家/地区以及美国禁止出口清单中所包含的实体,包括但不限于被禁止的个人以及特别指定的国家/地区的公民。
本文档按 “原样”提供,对于所有明示或默示的条件、陈述和担保,包括对适销性、适用性或非侵权性的默示保证,均不承担任何责任,除非
此免责声明的适用范围在法律上无效。
iv 《Fortran 编程指南》 • 2005 年 11 月
1.9 命令行帮助 1–6
2. Fortran 输入 / 输出 2–1
2.1 从 Fortran 程序内部访问文件 2–1
2.1.1 访问命名文件 2–1
2.1.2 不用文件名打开文件 2–3
2.1.3 不用 OPEN 语句打开文件 2–3
2.1.4 向程序传递文件名 2–4
2.2 直接 I/O 2–6
2.3 二进制 I/O 2–7
2.4 流 I/O 2–8
2.5 内部文件 2–10
2.6 Big-Endian 和 Little-Endian 平台之间的 二进制 I/O 2–11
2.7 传统 I/O 注意事项 2–12
3. 程序开发 3–1
3.1 使用 make 实用程序简化程序构建 3–1
3.1.1 Makefile 3–1
3.1.2 make 命令 3–3
3.1.3 宏 3–3
3.1.4 覆盖宏值 3–4
3.1.5 make 中的后缀规则 3–4
3.1.6 .KEEP_STATE 与特殊依赖性检查 3–5
3.2 用 SCCS 进行版本跟踪和控制 3–5
3.2.1 用 SCCS 控制文件 3–6
3.2.2 签出和签入文件 3–8
4. 库 4–1
4.1 认识库 4–1
4.2 指定链接程序调试选项 4–2
目录 v
4.2.1 生成加载映射 4–2
4.2.2 列出其他信息 4–3
4.2.3 编译和链接一致性 4–4
4.3 设置库搜索路径和顺序 4–4
4.3.1 标准库路径的搜索顺序 4–5
4.3.2 LD_LIBRARY_PATH 环境变量 4–5
4.3.3 库搜索路径和顺序 - 静态链接 4–6
4.3.4 库搜索路径和顺序 - 动态链接 4–7
4.4 创建静态库 4–8
4.4.1 权衡静态库 4–8
4.4.2 简单静态库的创建 4–9
4.5 创建动态库 4–11
4.5.1 权衡动态库 4–12
4.5.2 位置无关代码和 -xcode 4–12
4.5.3 联编选项 4–13
4.5.4 命名约定 4–14
4.5.5 一个简单动态库 4–14
4.5.6 初始化公共块 4–15
4.6 随 Sun Fortran 编译器提供的库 4–15
4.7 可发送库 4–15
5. 程序分析和调试 5–1
5.1 全局程序检查 (-Xlist) 5–1
5.1.1 GPC 概述 5–1
5.1.2 如何调用全局程序检查 5–2
5.1.3 -Xlist 和全局程序检查的一些示例 5–4
5.1.4 跨例程全局检查的子选项 5–8
5.2 特殊编译器选项 5–12
5.2.1 下标边界
(-C) 5–12