·ChinaUnix首页 ·论坛 ·博客 
Linux首页 | Linux新闻 | Linux文档 | Linux论坛 | Linux下载 | Linux博客 | Linux搜索
新手入门 | 安装启动 | 管理员指南 | 开发手册 | 桌面应用 | 程序开发 | 数据库 | 网络技术| CentOS | Fedora | MySQL | Apache | Ubuntu | Gentoo| OSCON08
  Linux时代 >> 技术文档 >> 程序开发
 
unix下开发常用的编译工具gcc
来源: ChinaUnix博客  日期: 2008.03.17 01:33 (共有条评论) 我要评论
 
unix下开发常用的编译工具gcc,,
这里介绍一下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用于调试的      gcc -g name.c -o name
还有prof支持的 可以判断程序的运行效率


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/63679/showart_497778.html
  发表评论 查看评论(共有条评论) 我要提问
 
 


最新资讯更多>> 
· Wine 1.1.6 发布
· Wikipedia“变心”,力挺Ubuntu
· Shopex收购ecshop,discuz为了..
· 提前下载:OpenOffice.org 3.0..
· 微软Office面临严重挑战?
· 媒体观察:法国收获开源带来的启示
· 微软频繁接触开源 跨越“源”界限
· 挣脱Windows束缚 拥抱Ubuntu L..
· Puppy Linux领导者转向开发UniPup
· 发行版发布:Mandriva Linux 2009
论坛热点更多>> 
· 那些常常见到又叫不出名字的花
· xp 和LINUX 上网下载东西
· 关于秋日里的一场梦。。。。。。
· LILEI和HANMEIMEI的欲望人生..
· 这几道题会做就可直接找LINU..
· Oracle再祭收购大旗,这次红..
· RHCE考试费4200!NND
· 配置DNS主从自动更新同步,无..
· 夜店最火辣的Party girls
· 倒!同事一个比一个住的远
文档更新更多>> 
· kmess1.5.1在红旗6sp1上的安装方法
· OOo3.0 RC2 发布,中文版可用。
· IT从业人员必看的10大论坛
· SSH权威指南
· DNS相关定义介绍
· OpenVPN(zt)
· Linux shell I/O重定向详解
· linux下的烧写环境配置
· tcpdump详细用法
· 转:ARM的嵌入式Linux移植体验之基..
 
关于我们 | 联系方式 | 广告合作 | 诚聘英才 | 网站地图 | 友情链接 | 免费注册

Copyright © 2001-2008 ChinaUnix.net All Rights Reserved

感谢所有关心和支持过ChinaUnix的朋友们

京ICP证041476号