【编译、链接、装载一】预处理、编译、汇编、链接( 三 )

<库>显示 <库> 的完整路径-print-prog-name=<程序>显示编译器组件 <程序> 的完整路径-print-multiarchDisplay the target's normalized GNU triplet, used asa component in the library path-print-multi-directory显示不同版本 libgcc 的根目录-print-multi-lib显示命令行选项和多个版本库搜索路径间的映射-print-multi-os-directory 显示操作系统库的相对路径-print-sysroot显示目标库目录-print-sysroot-headers-suffix 显示用于寻找头文件的 sysroot 后缀-Wa,<选项>将逗号分隔的 <选项> 传递给汇编器-Wp,<选项>将逗号分隔的 <选项> 传递给预处理器-Wl,<选项>将逗号分隔的 <选项> 传递给链接器-Xassembler <参数>将 <参数> 传递给汇编器-Xpreprocessor <参数>将 <参数> 传递给预处理器-Xlinker <参数>将 <参数> 传递给链接器-save-temps不删除中间文件-save-temps=不删除中间文件-no-canonical-prefixes生成其他 gcc 组件的相对路径时不生成规范化的前缀-pipe使用管道代替临时文件-time为每个子进程计时-specs=<文件>用 <文件> 的内容覆盖内建的 specs 文件-std=<标准>指定输入源文件遵循的标准--sysroot=<目录>将 <目录> 作为头文件和库文件的根目录-B <目录>将 <目录> 添加到编译器的搜索路径中-v显示编译器调用的程序-###与 -v 类似 , 但选项被引号括住 , 并且不执行命令-E仅作预处理 , 不进行编译、汇编和链接-S编译到汇编语言 , 不进行汇编和链接-c编译、汇编到目标代码 , 不进行链接-o <文件>输出到 <文件>-pieCreate a position independent executable-sharedCreate a shared library-x <语言>指定其后输入文件的语言允许的语言包括:c c++ assembler none‘none’意味着恢复默认行为 , 即根据文件的扩展名猜测源文件的语言以 -g、-f、-m、-O、-W 或 --param 开头的选项将由 gcc 自动传递给其调用的不同子进程 。若要向这些进程传递其他选项 , 必须使用 -W<字母> 选项 。报告程序缺陷的步骤请参见:.
八、其他知识点 1、cc、cc1、ccl、gcc 1.1、cc1.2、cc1
cc1是系统下提供的编译器 , 安装MinGW后,再安装gcc可以就可以看到 , 作用同gcc.
linux下也有 , 在/usr//gcc/--linux/4.8.5/cc1
1.3、ccl
a:
via the CCL  , 从网站我们可以看到 , 其生成的目标文件是.ccx , 而非.s文件 。而从下文可以看到其名字叫做。
Thisthe CCL , and how toit on.
The CCLis a, which can beby the user.The name of theis(or .exe on) //软件的名字叫
b:
CCL
CCL isin , you need an -of CCL toit.
b这个ccl , 虽然和语言相关 , 但是并非是c语言的编译器 。
c:
综上所述:很多书籍中提到的ccl编译命令是不存在的 , 正确的应该是cc1\cc\gcc 。
1.4、gcc
GCC:全称GNU , GNU编译器套装 , 是广泛应用的Linux系统的默认编译器(特别是用于编译Linux内核) 。GCC能够支持多种架构的处理器 , 跨平台特性相对出色 。不过 , GNU组织要求全部的代码由自己完成(防止版权问题) , 所以GCC虽然有广泛的硬件支持 , 但是在各硬件平台上却并不是性能最优的编译器 。
1.5、icc
ICC:全称Intel C++  , 是Intel开发的C/C++/编译器套装 , 适用于Linux、和Mac OS X操作系统 , 没有非IA指令集版本(就是说仅供x86架构CPU使用) 。ICC广泛应用于高性能计算、分布式计算等商业计算领域 , 其向量化和并行化性能是业界的标杆 , 能够充分发挥现代处理器的特性 。
2、cpp
参考:

【编译、链接、装载一】预处理、编译、汇编、链接