GCC技术参考大全PDF电子书下载
- 电子书积分:15 积分如何计算积分?
- 作 者:(美)Arthur Griffith著;胡恩华译
- 出 版 社:北京:清华大学出版社
- 出版年份:2004
- ISBN:7302088438
- 页数:499 页
第1章 GCC简介 3
1.1 GNU 3
第1部分 自由软件编译程序 3
1.2 测量编译程序 4
1.3 命令行选项 4
1.4 平台 5
1.5 编译程序的功能 6
1.6.1 C是基本语言 7
1.6.2 C++:第一个附加语言 7
1.6 语言 7
1.6.3 Objective-C 8
1.6.4 Fortran 8
1.6.5 Java 8
1.6.6 Ada 8
1.6.7 不再支持Chill 9
1.7 部分列表 9
1.8 联系方式 11
第2章 查询与安装编译程序 14
2.1 二进制代码下载 15
2.2 FTP资源下载 15
2.3 CVS资源下载 17
2.3.2 测试版 18
2.3.1 以前的发布版 18
2.4 编译和安装GCC 19
2.4.1 安装过程 19
2.4.2 配置选项 20
2.5 binutils 29
2.6 Win32二进制安装 31
2.6.1 Cygwin 31
2.6.2 安装 31
2.7 运行测试包 32
3.1 指示字 37
第2部分 使用编译程序集合 37
第3章 预处理程序 37
3.1.1 #define 38
3.1.2 #error和#warning 41
3.1.3 #if,#elif,#else和#endif 41
3.1.4 #ifdef,#else和#endif 42
3.1.5 #include 43
3.1.6 #includenext 44
3.1.7 #line 44
3.1.8 #pragma和_Pragma 45
3.1.10 46
3.1.9 #undef 46
3.2 预定义宏 47
3.3 只包含一次头文件 49
3.4 在出错消息中包含定位信息 50
3.5 去掉适当位置的源代码 50
3.6 产生make程序的描述文件 51
3.7 命令行选项和环境变量 51
第4章 编译C程序 53
4.1 编译基础 53
4.1.2 源文件到目标文件 54
4.1.1 单源程序到可执行程序 54
4.1.3 多源文件到可执行文件 55
4.1.4 预处理 55
4.1.5 生成汇编语言 56
4.1.6 创建静态库 56
4.1.7 创建共享库 57
4.1.8 重写命名约定 58
4.2 标准 59
4.3 C语言扩展 59
4.3.1 对齐 60
4.3.2 匿名联合 60
4.3.4 零长度数组 61
4.3.3 变长数组 61
4.3.5 属性 63
4.3.6 返回值的复合语句 68
4.3.7 条件操作数省略 69
4.3.8 枚举不完全类型 70
4.3.9 函数参数构造 70
4.3.10 函数内嵌 71
4.3.11 函数名 72
4.3.12 函数嵌套 72
4.3.13 函数原型 73
4.3.15 标识符 74
4.3.14 函数返回地址和堆栈框架 74
4.3.16 整数 75
4.3.17 更换关键字 75
4.3.18 标识地址 75
4.3.19 局部标识声明 76
4.3.20 左值表达式(1value) 77
4.3.21 具有可变参数的宏 77
4.3.22 字符串 78
4.3.23 指针算法 78
4.3.24 SwitchLCase分支语句 78
4.3.25 typedef名字创建 79
4.3.27 联合强制类型转换 80
4.3.26 typeof引用 80
5.1 编译基础 82
5.1.1 单源文件到可执行文件 82
第5章 编译C++程序 82
5.1.2 多源文件到可执行文件 83
5.1.3 源文件到目标文件 84
5.1.4 预处理 85
5.1.5 生成汇编语言 85
5.1.6 创建静态库 85
5.1.7 创建共享库 87
5.2.1 属性 89
5.2 C++语言的扩展功能 89
5.2.2 头文件 90
5.2.3 函数名 90
5.2.4 接口与实现 91
5.2.5 操作符<?和>? 92
5.2.6 约束 93
5.3 编译程序操作 94
5.3.1 库 94
5.3.2 mangling名字 94
5.3.3 连接 97
5.3.4 编译模板实例化 98
第6章 编译Objective-C 99
6.1 编译基础 99
6.1.1 单独源文件到可执行程序 99
6.1.2 编译对象 100
6.1.3 创建静态连接库 102
6.1.4 创建共享库 104
6.2 Objective-C的简要介绍 105
6.2.1 预定义类型 105
6.2.3 命名和mangling 106
6.2.2 创建接口声明 106
第7章 编译Fortran程序 108
7.1 编译基础 108
7.1.1 单独源文件到可执行程序 108
7.1.2 多源文件到可执行程序 109
7.1.3 生成汇编语言 110
7.1.4 预处理 110
7.1.5 创建静态库 112
7.1.6 创建共享库 113
7.2 Ratfor 113
7.3.1 内在函数 115
7.3.2 源代码格式 115
7.3 GNUFortran扩展功能与变量 115
7.3.3 注释 116
7.3.4 美元符号 116
7.3.5 大小写敏感 116
7.3.6 特殊Fortran90功能 118
第8章编译Java 123
8.1 编译基础 123
8.1.1 单一源文件到二进制可执行 124
程序 124
8.1.2 单一源文件到类文件 124
8.1.5 多源文件到二进制可执行文件 125
8.1.3 单一源文件到二进制目标文件 125
8.1.4 类文件到本地可执行程序 125
8.1.6 多输入文件到可执行程序 127
8.1.7 生成汇编语言 127
8.1.8 创建静态库 128
8.1.9 创建共享库 129
8.1.10 创建Jar文件 129
8.2 Java工具 130
8.2.1 gij 130
8.2.2 jar 131
8.2.3 gcjh 132
8.2.4 jcf-dump 134
8.2.5 iv-scan 134
8.2.6 jv-conveg 135
8.2.7 grepjar 136
8.3 RMI 137
8.3.1 rmic 138
8.3.2 rmiregistry 139
8.4 属性 139
第9章 编译Ada程序 141
9.1 安装 141
9.2 编译基础 143
9.2.1 单独源文件到可执行程序 144
9.2.2 多源文件到可执行程序 145
9.2.3 源代码到汇编语言 146
9.3 选项 146
9.4 Ada工具 150
9.4.1 gnatbind 150
9.4.2 gnatlink 153
9.4.3 gnatmake 153
9.4.4 gnatchop 155
9.4.5 gnatxref 156
9.4.6 gnatfind 157
9.4.8 gnatprep 158
9.4.7 gnatkr 158
9.4.9 gnatls 159
9.4.1 0gnatpsys和gnatpsta 161
第10章 混合语言 162
10.1 C++和C的混合 162
10.1.1 在C++中调用C 162
10.1.2 在C中调用C++ 163
10.2 混合Obiective-C和C 164
10.2.1 在Objective-C中调用C 164
10.2.2 在C中调用Obiective-C 165
10.3 混合Java和C++ 166
10.3.1 创建Java字符串并调用静态 167
方法 167
10.3.2 加载并实例化Java类 168
10.3.3 异常 170
10.3.4 CNI的数据类型 171
10.4 混合1ava和C 171
10.4.1 具有本地方法的Java类 172
10.412 向本地方法传递参数 173
10.4.3 在C代码中调用Java类方法 175
10.5.1 从.Fortran中调用C 177
10.5 混合Fortran和C 177
10.5.2 从C中调用Fortran 178
10.6 混合Ada和C 179
10.6.1 从.Ada中调用C 180
10.6.2 从Ada中调用C(带参数) 181
第11章 国际化 184
11.1 翻译的例子 184
11.2 创建新的.po文件 186
11.3 函数.gettext()的用法 189
11.3.1 静态字符串 189
11.3.2 从其他域中进行翻译 189
11.3.6 某个类别其他域的多重模式 190
11.4 合并两个.po文件 190
11.3.3 从其他域到指定类别的翻译 190
11.3.5 来自其他域的多重模式 190
11.3.4 多重模式 190
11.5 由.po文件生成二进制的.mo文件 192
第3部分 外设和内设 197
第12章 连接和库 197
12.1 目标文件和库 197
12.1.1 目录中的目标文件 197
12.1.2 静态库中的目标文件 198
12.2 连接程序的前端 200
12.1.3 动态库中的目标文件 200
12.3.1 在连接时定位库 201
12.3.2 运行时载入库 201
12.3 定位库 201
12.4 从共享库中载入函数 202
12.5 使用目标文件和库的工具程序 204
12.5.1 配置查找共享库 204
12.5.2 列举目标文件中的符号名 205
12.5.3 去除目标文件中的无用信息 207
12.5.4 列出共享库的依赖关系 208
12.5.5 显示目标文件的内部结构 209
13.1.1 STABS 212
第13章 使用GNU调试器 212
13.1 调试信息格式 212
13.1.2 DWARF 213
13.1.3 COFF 213
13.1.4 XCOFF 214
13.2 编译调试用程序 214
13.3 将程序载入调试器 215
13.4 执行事后检查 219
13.5 将调试器附带到运行程序上 220
13.6 命令总结 223
14.1 make 225
第14章 make和Autoconf 225
14.1.1 内部定义 227
14.1.2 如何编写makefile 228
14.1.3 make的选项 229
14.2 Autoconf 232
第15章 GNU汇编器 237
15.1 用命令行进行汇编 237
15.2 绝对、相对以及边界 239
15.3 内嵌汇编 240
15.4 汇编器指示字 243
16.1 目标机 254
第16章 交叉编译及窗体端口 254
16.2 创建交叉编译程序 255
16.2.1 安装本地编译程序 255
16.2.2 为目标机器建立binutils 256
16.2.3 安装目标机器的文件 257
16.2.4 可配置库libgccl.a 257
16.2.5 构造交叉编译程序 257
16.2.6 运行交叉编译程序 258
16.3 MinGW 258
程序 259
16.4.1 编译简单的Cygwin操作台 259
16.4 Cygwin 259
16.4.2 编译CygwinGUI程序 260
第17章 嵌入式系统 261
17.1 建立编译程序和连接程序 261
17.2 选择一种语言 262
17.3 GCC嵌入工具 263
17.3.1 命令行选项 263
17.3.2 诊断 264
17.3.3 汇编器代码 264
17.4 库 264
17.5 GNU连接程序脚本语言 265
17.4.1 整顿标准库 265
17.4.2 为嵌入式系统设计的库 265
17.5.1 脚本例子1 266
17.5.2 脚本例子2 267
17.5.3 其他脚本命令 268
第18章 编译程序输出 269
18.1 程序信息 269
18.1.1 解析树 269
18.1.2 头文件 270
18.1.3 程序需要的内存 271
18.1.5 C++中间树 272
18.1.4 时耗 272
18.1.6 C++类层次 273
18.2 有关makefile的信息 273
18.3 编译程序信息 274
18.3.1 编译时间 275
18.3.2 子进程开关 275
18.3.3 详细的编译程序调试信息 276
18.4 关于文件和目录的信息 279
第19章 实现一种语言 280
19.1 从前到后 280
19.2 词法扫视 281
19.2.1 简单的词法扫视程序 282
19.2.2 Lex的正则表达式 282
19.3 语法分析 283
19.4 创建解析树 288
19.5 连接后端与前端 289
第20章 寄存器传送语言 292
20.1 RTLinsn 292
20.1.16 种基本表达式代码 292
20.1.2 insn的类型和内容 294
20.2 模式和模式类 310
20.3 标志 312
21.1 机器列表 314
第21章 机器相关的编译程序选项 314
21.2 GCC命令行选项 315
21.2.1 Alpha选项 315
21.2.2 AlphaLVMS选项 320
21.2.3 ARC选项 320
21.2.4 ARM选项 320
21.2.5 AVR选项 325
21.2.6 CRIS选项 326
21.2.7 D30V选项 329
21.2.9 HPPA选项 330
21.2.8 H8L300选项 330
21.2.10 IA-64选项 332
21.2.11 Intel386和AMDx86-64选项 334
21.2.12 Inte1960选项 339
21.2.13 M32RLD选项 340
21.2.14 M680x0选项 341
21.2.15 M68HClx选项 344
21.2.16 M88K选项 344
21.2.17 MCore选项 347
21.2.18 MIPS选项 348
21.2.19 MMIX选项 354
21.2.20 N10200选项 355
21.2.21 MN10300选项 355
21.2.22 NS32K选项 356
21.2.23 PDP-11选项 358
21.2.24 RSL6000和PowerPC选项 359
21.2.25 RT选项 368
21.2.26 SL390和zSeries选项 369
21.2.27 SH选项 370
21.2.28 SPARC选项 372
21.2.30 TMS320C3xLC4x选项 376
21.2.29 SystemV选项 376
21.2.31 V850选项 379
21.2.32 VAX选项 380
21.2.33 Xstormy16选项*380++第4部分 附录附录 AGNU通用公共许可证 383
附录 B环境变量 389
附录 C命令行对照表 393
附录 D命令行选项 400
D.1 选项前缀 400
D.1.1 命令行的顺序 401
D.1.2 文件类型 401
D.2 选项字母顺序列表 402
附录 E术语表 480
- 《钒产业技术及应用》高峰,彭清静,华骏主编 2019
- 《现代水泥技术发展与应用论文集》天津水泥工业设计研究院有限公司编 2019
- 《异质性条件下技术创新最优市场结构研究 以中国高技术产业为例》千慧雄 2019
- 《Prometheus技术秘笈》百里燊 2019
- 《中央财政支持提升专业服务产业发展能力项目水利工程专业课程建设成果 设施农业工程技术》赵英编 2018
- 《药剂学实验操作技术》刘芳,高森主编 2019
- 《林下养蜂技术》罗文华,黄勇,刘佳霖主编 2017
- 《脱硝运行技术1000问》朱国宇编 2019
- 《催化剂制备过程技术》韩勇责任编辑;(中国)张继光 2019
- 《信息系统安全技术管理策略 信息安全经济学视角》赵柳榕著 2020
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《大学生心理健康与人生发展》王琳责任编辑;(中国)肖宇 2019
- 《大学英语四级考试全真试题 标准模拟 四级》汪开虎主编 2012
- 《大学英语教学的跨文化交际视角研究与创新发展》许丽云,刘枫,尚利明著 2020
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《复旦大学新闻学院教授学术丛书 新闻实务随想录》刘海贵 2019
- 《大学英语综合教程 1》王佃春,骆敏主编 2015
- 《大学物理简明教程 下 第2版》施卫主编 2020
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019