第一章 创建程序和库 1
1.1 创建工程概述 1
1.1.1 信息是如何显示出来的 1
1.1.2 菜单选项 1
1.1.3 使用快捷菜单 1
1.2 Visual Fortran可以创建的工程类型 2
1.2.1 控制台应用程序工程(Console) 2
1.2.2 标准图形应用程序工程 3
1.2.3 QuickWin图形应用程序工程 4
1.2.4 Windows应用程序工程 5
1.2.5 静态库工程 7
1.2.6 动态链接库工程 7
1.3 工程的定义 9
1.3.1 工程的定义与建立 9
1.3.2 工程中包含的文件 12
1.3.3 选择一种配置 13
1.3.4 设置编译选项 14
1.3.5 生成可执行文件 18
1.3.6 在一个工程中编译文件 18
第二章 行编辑下的编译和链接 19
2.1 DF行编译命令的用法 19
2.1.1 DF命令的格式 19
2.1.2 DF命令格式举例 20
2.2 输入和输出文件 21
2.2.1 DF命令使用的环境变量 22
2.2.2 用DF命令选项指定工程的类型 23
2.2.3 重定向命令行输出到文件 23
2.3 DF行编译命令的使用 24
2.3.1 编译和链接单个源文件 24
2.3.2 使用DF环境变量来指定选项 24
2.3.4 编译并链接多个Fortran源程序 25
2.3.5 生成一个列表文件 25
2.3.3 编译(不链接)一个Fortran源程序 25
2.3.6 链接附加的库 26
2.3.7 链接目标文件 26
2.3.8 为调试进行编译和链接 26
2.3.9 为优化进行编译和链接 27
2.3.10 编译和链接混合语言程序 27
2.3.11 DF间接命令文件的使用 27
2.4.2 链接器的诊断信息和出错条件 28
2.4.1 编译器的诊断信息和出错条件 28
2.4 编译和链接信息 28
第三章 编译和链接选项 29
3.1 编译选项 29
3.1.1 General类选项 30
3.1.2 Code Generation类选项 32
3.1.3 Compatibility类选项 34
3.1.4 Compilation Diagnostics类选项 37
3.1.6 External Procedures类选项 40
3.1.5 Debug类选项 40
3.1.7 Fortran Data类选项 41
3.1.8 Floating-Point类选项 44
3.1.9 Fortran Language类选项 46
3.1.10 Libraries类选项 47
3.1.11 Listing Files类选项 48
3.1.12 Miscellaneous Linker Tab and Command-line Only类选项 49
3.1.13 Optimizations类选项 53
3.1.14 Preprocessor类选项 56
3.1.15 Run-Time类选项 56
3.2 链接选项和相关信息 58
3.2.1 General类选项 58
3.2.2 Customize类选项 59
3.2.3 Debug类选项 61
3.2.4 Input类选项 63
3.2.5 Output类选项 64
3.3.1 使用DF或FL32命令行 69
3.3 Visual Fortran行编译适配性 69
3.3.2 等价的Visual Fortran编译器选项 71
第四章 调试和优化程序 74
4.1 调试程序 74
4.1.1 准备调试 74
4.1.2 调试程序举例:程序exam5_1的调试 75
4.1.3 在调试器中查看不同类型的Fortran的数据 83
4.1.4 在调试器中使用数组浏览器 85
4.1.5 在调试器中定位运行时的错误 88
4.2 优化程序 89
4.2.1 软件环境和有效的编辑 89
4.2.2 分析程序性能 89
4.2.3 考虑数据定位 92
4.2.4 有效地使用数组 93
4.2.5 提高总的输入/输出性能 96
4.2.6 为提高运行效率而添加源代码的原则 99
4.2.7 优化级别:/optimize选项 100
4.2.8 其它与优化有关的选项 101
第五章 使用QuickWin创建应用程序 104
5.1 QuickWin应用程序类型 104
5.1.1 Fortran Standard Graphics应用程序 105
5.1.2 Fortran QuickWin应用程序 105
5.2 QuickWin用户界面 106
5.3 创建QuickWin窗体界面(主界面的创建) 109
5.3.1 访问窗口的属性 109
5.3.2 创建子窗口 116
5.3.3 使一个窗口获得焦点并设置活动窗口 117
5.3.4 保持子窗口为打开状态 118
5.3.5 控制窗口的大小和位置 118
5.4 定义图形特性 119
5.4.1 选择显示方式 119
5.4.2 设置图形坐标系 122
5.4.3 使用颜色 127
5.4.4 设置图形属性 134
5.5.1 图像在内存和屏幕之间转换 142
5.5 显示图形输出 142
5.5.2 图像在屏幕和Windows位图之间转换 145
5.5.3 图像在屏幕和QuickWin下Edit菜单的剪贴板之间转换 147
5.6 完善QuickWin应用程序 148
第六章 创建动态链接库和Windows应用程序 164
6.1 DLL的创建 164
6.1.1 DLL中共享程序时需要的代码 164
6.1.2 DLL中共享数据时需要的代码 168
6.1.3 创建动态链接库工程 170
6.2 Windows应用程序的创建 178
6.2.1 创建Fortran Windows应用程序需要的代码 179
6.2.2 Visual Fortran的Windows模块 180
6.2.3 Fortran的Windows应用程序实例 181
7.1 编辑对话框 185
7.1.1 打开对话框编辑器 185
第七章 创建对话框 185
7.1.2 往对话框中加入控件 186
7.1.3 指定加入对话框控件的名字和属性 186
7.1.4 保存对话框为一个源文件 187
7.2 对话框应用 188
7.2.1 创建一个对话框应用程序 188
7.2.2 初始化并激活对话框 189
7.2.3 回调子程序 191
7.2.4 使用非模态对话框 193
7.3 对话框函数 194
7.3.1 DLGEXIT 194
7.3.2 DLGGET类 195
7.3.3 DLGINIT类 196
7.3.4 DLGISKLGMESSAGE 197
7.3.5 DLGMODAL 198
7.3.6 DLGMODELESS 199
7.3.7 DLGSENDCTRLMESSAGE 200
7.3.8 DLGSET类 201
7.3.9 DLGSETRETURN 202
7.3.10 DLGSETSUB 203
7.3.11 DLGUNINIT 205
7.4 对话框控件的使用 206
7.4.1 对话框控件 206
第八章 图形模块(电子画板) 211
8.1 使用图形模式 211
8.1.1 改变当前的图形模式 211
8.1.2 设置图形模式 212
8.1.3 写一个图形程序 213
8.2 添加颜色 218
8.2.1 颜色混合 218
8.2.2 VGA的调色板 232
8.2.3 使用文本颜色 233
8.3.2 图形坐标 235
8.3.1 文本坐标 235
8.3 坐标系统 235
8.3.3 一个用实数坐标画图的例子 238
8.4 电子画板的例子 243
8.4.1 模块文件exam8_3_mod.f90 243
8.4.2 主程序代码文件exam8_3.f90 245
8.4.3 编译并运行程序 255
8.5 OpenGL应用 256
8.5.1 创建OpenGL应用程序 256
8.5.2 OpenGL应用程序举例 257
第九章 语言的混合编程 261
9.1 混编导引 261
9.2 混编中交换和访问数据 262
9.2.1 在混编中传递参数 262
9.2.2 在混编中使用模块 264
9.2.3 在混编中使用公共的外部数据 266
9.3 混编中的数据类型 269
9.4 Visual Fortran/Visual C++的混合编程 279
9.5.1 从Visual Basic中调用Visual Fortran 281
9.5 Visual Fortran/Visual Basic的混合编程 281
9.5.2 Visual Basic调试的考虑 283
9.5.3 Fortran/Visual Basic程序的例子 284
9.6 Visual Fortran/MASM的混合编程 286
9.6.1 创建一个MASM程序 287
9.6.2 Fortran/MASM的对齐方式和返回值的考虑 287
9.6.3 Fortran/MASM程序的例子 288
第十章 多线程(线程、多线程的创建) 290
10.1 多线程的定义 290
10.2 多线程的创建 291
10.2.1 多线程的模块 291
10.2.2 启动和退出多线程 291
10.2.3 线程的程序格式 293
10.2.4 共享资源 294
10.2.6 使线程同步 295
10.2.5 线程的局部存储(TLS) 295
10.2.7 处理多线程中的错误 296
10.2.8 以多过程的方式工作 296
10.2.9 多线程程序列表 297
10.3 在应用程序中添加多线程的应用 298
10.3.1 程序的源代码文件 298
10.3.2 编译和链接多线程 317
10.3.3 运行结果 318
第十一章 IMSL数学库和统计库的使用 320
11.1 MSL数学库和统计库的一般应用 320
11.2 积分、微分、偏微分方程和特殊函数 323
11.2.1 IMSL数学库中的积分和微分 323
11.2.2 IMSL数学库中的偏微分方程 356
11.2.3 IMSL数学库中的特殊函数 369
11.3 IMSL统计库中的函数及应用 385
11.4 在混编语言中IMSL库的使用 405
12.1 Command Console的设置 408
第十二章 Visual Fortran工具 408
12.2 使用NMAKE编译链接 409
12.2.1 运行NMAKE 409
12.2.2 Makefile文件的内容 409
12.2.3 Makefile文件中的嵌入文件 412
12.3 使用LIB管理静态库 412
12.3.1 LIB的输入/输出 413
12.3.2 LIB的选项 413
12.3.3 加入一个库成员 413
12.3.4 导入库和输出文件 413
12.4 使用EDITBIN编辑文件 414
12.4.1 EDITBIN命令行 414
12.4.2 EDITBIN选项 414
12.5 使用DUMPBIN检验文件 416
12.5.1 DUMPBIN命令行 416
12.5.2 DUMPBIN选项 416
12.6 使用Format Editor编辑格式描述 418
13.1 实例提要 419
第三章 Visual Fortran三种应用程序创建实例 419
13.2 技术概要 420
13.3 实现步骤 421
13.3.1 创建Fortran Console应用程序 421
13.3.2 创建QuickWin应用程序 424
13.3.3 创建Windows应用程序 429
13.4 小结 432
14.1.2 技术概要 433
14.2 实现步骤 433
第十四章 Visual Fortran对话框及基本控件使用实例 433
14.1.1 本例提要 433
14.1 主要内容 433
14.2.1 创建进度条应用程序progress 443
14.2.2 创建温度计应用程序therm 446
14.2.3 创建字体显示应用程序showfont 462
14.3.1 调用WinMain函数 481
14.3 实例注释和详解 481
14.3.3 从指定设备中取回指定类型的信息 482
14.3.2 处理消息循环 482
14.3.4 创建逻辑字体 484
14.4 相关函数介绍 485
14.5 小结 490
15.1.1 内容提要 492
15.2 实现步骤 492
15.1.2 技术概要 492
15.1 主要内容 492
第十五章 多媒体创建实例——电子琴和音乐合成 492
15.3 实例注释和详解 522
15.3.1 主程序的创建 522
15.3.2 在QuickWin应用程序中填加或修改菜单项 522
15.3.3 在QuickWin应用程序中模拟菜单响应 523
15.3.4 在QuickWin应用程序中显示消息对话框 523
15.3.5 在QuickWin应用程序中注册鼠标响应函数 524
15.3.7 定义派生类 525
153.6 在QuickWin应用程序中定义模块文件 525
15.3.8 用背景颜色填充目标区域 526
15.3.9 在QuickWin应用程序中打开文件 527
15.4 相关函数介绍 528
15.5 小结 533
第十六章 利用OpenGL绘制奥林匹克五环 534
16.1 主要内容 534
16.1.1 内容提要 534
16.1.2 技术概要 534
16.2 实现步骤 534
16.3 实例注释和详解 551
16.3.1 OpenGL中点的绘制及其尺寸的控制 551
16.3.2 设置窗口的显示模式 552
16.3.3 创建光源 552
16.4 相关函数介绍 553
16.5 小结 557