热烈祝贺台州朗动科技的站长论坛隆重上线!(2012-05-28)    热烈庆祝伟大的祖国60周年生日 点击进来我们一起为她祝福吧(2009-09-26)    站长论坛禁止发布广告,一经发现立即删除。谢谢各位合作!.(2009-08-08)    热烈祝贺台州网址导航全面升级,全新版本上线!希望各位一如既往地支持台州网址导航的发展.(2009-03-28)    台州站长论坛恭祝各位新年快乐,牛年行大运!(2009-01-24)    台州Link正式更名为台州网址导航,专业做以台州网址为主的网址导航!(2008-05-23)    热烈祝贺台州Link资讯改名为中国站长资讯!希望在以后日子里得到大家的大力支持和帮助!(2008-04-10)    热烈祝贺台州Link论坛改名为台州站长论坛!希望大家继续支持和鼓励!(2008-04-10)    台州站长论坛原[社会琐碎]版块更名为[生活百科]版块!(2007-09-05)    特此通知:新台州站长论坛的数据信息全部升级成功!">特此通知:新台州站长论坛的数据信息全部升级成功!(2007-09-01)    台州站长论坛对未通过验证的会员进行合理的清除,请您谅解(2007-08-30)    台州网址导航|上网导航诚邀世界各地的网站友情链接和友谊联盟,共同引领网站导航、前进!(2007-08-30)    禁止发广告之类的帖,已发现立即删除!(2007-08-30)    希望各位上传与下载有用资源和最新信息(2007-08-30)    热烈祝贺台州站长论坛全面升级成功,全新上线!(2007-08-30)    
便民网址导航,轻松网上冲浪。
台州维博网络专业开发网站门户平台系统
您当前的位置: 首页 » Linux编程开发 » GCC常用命令描述

GCC常用命令描述

论坛链接
  • GCC常用命令描述
  • 发布时间:2007-09-17 21:29:25    浏览数:6633    发布者:lupd    设置字体【   
unix下开发常用的编译工具gcc,我对于gcc的了解知道的很少,
一般用到的也就是gcc -o xx xx.cpp
今天翻了一下gnu的gcc manual 花了点时间总结了一下,
给大家分享一下!呵呵,希望对大家有帮助.
这里介绍一下gcc的常用命令选项(可以参考gnu gcc manual).
1. gcc 支持的语言.
GCC 全称是GNU Compiler Collection ,包含一些主要编译器支持语言 C, C++, Objective-C, Java, Fortran, and Ada的编译.
2.gcc 命令选项
当执行gcc的时候通常会经过四个处理过程,preprocessing, compilation, assembly and linking .可以通过加不同的选项来中止到某个过程.

a.总的选项.
-c -S -E -o file -pipe -pass-exit-codes
-x language -v -### --help --target-help --version
编译器编译文件要经过四个阶段,如上所述.是按顺序来进行的.
编译器根据输入文件的后缀来决定进入哪个阶段的处理过程:
file.c c 文件要经过豫处理.
file.i c源文件不必进行豫处理。
file.ii c++源文件不必进行豫处理。
file.h c/c++豫编译头文件.
file.cc
file.cp
file.cxx
file.cpp
file.CPP
file.c++
file.C c++源文件要经过豫处理.
file.hh
file.H c++头文件转换为豫处理头文件.

file.s
Assembler code.

file.S
Assembler code which must be preprocessed

-x language =========选项是为了指定语言告诉gcc 文件是什么语言的,
不必要缺省的后缀识别.
languge 可以是:
c c-header cpp-output
c++ c++-header c++-cpp-output
objective-c objective-c-header objc-cpp-output
assembler assembler-with-cpp
ada
f77 f77-cpp-input ratfor
java
treelang

-x none 用后缀识别,关闭语言识别.

-c 只是编译不连接,生成的都是目标文件. .c, .i, .s ==> .o

-S 只是编译不进行汇编,生成汇编代码. .c, .i ==>.s

-E 只是进行豫编译,不做其他处理.
-o file 把输出文件输出到file里.

-v 打印出编译器内部编译的各个过程的命令行信息.和编译器的版本.
-### 同上,但是不真正执行命令.
-pipe 编译器编译时各个阶段的信息是保存到临时文件的,如果你不想
用临时文件的话可以通过管道也行.这个命令选项就用上了.不过有些系统不支持.


编者注:无双网友补充
还有其它的选项 如-On(n=1,2,3) -arch=pentium4 这些用于优化的
-g用于调试的
还有prof支持的 可以判断程序的运行效率
娱乐休闲专区A 影视预告B 音乐咖啡C 英语阶梯D 生活百科
网页编程专区E AMPZF HTMLG CSSH JSI ASPJ PHPK JSPL MySQLM AJAX
Linux技术区 N 系统管理O 服务器架设P 网络/硬件Q 编程序开发R 内核/嵌入
管理中心专区S 发布网址T 版主议事U 事务处理