linux下的gcc命令 linux的gcc使用方法

linux下gcc的安装与使用

方法一:

成都创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都做网站、成都网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的喀左网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

该方法超简单:

sudoapt-getbuild-depgcc

就上面这条命令就可以搞定

方法二:

sudoapt-getinstallbuild-essential

还是简单,一句命令也可以搞定

安装完了可以执行

gcc--version

的命令来查看版本,输出如下:

gcc(GCC)4.2.3(Ubuntu4.2.3-2ubuntu7)

Copyright(C)2007FreeSoftwareFoundation,Inc.

编译则使用gcc命令。要往下学习首先就得熟悉gcc命令的用法。

gcc命令提供了非常多的命令选项,但并不是所有都要熟悉,初学时掌握几个常用的就可以了,到后面再慢慢学习其它选项,免得因选项太多而打击了学习的信心。

一. 常用编译命令选项

假设源程序文件名为test.c。

1. 无选项编译链接

用法:#gcc test.c

作用:将test.c预处理、汇编、编译并链接形成可执行文件。这里未指定输出文件,默认输出为a.out。

2. 选项 -o

用法:#gcc test.c -o test

作用:将test.c预处理、汇编、编译并链接形成可执行文件test。-o选项用来指定输出文件的文件名。

3. 选项 -E

用法:#gcc -E test.c -o test.i

作用:将test.c预处理输出test.i文件。

4. 选项 -S

用法:#gcc -S test.i

作用:将预处理输出文件test.i汇编成test.s文件。

5. 选项 -c

用法:#gcc -c test.s

作用:将汇编输出文件test.s编译输出test.o文件。

6. 无选项链接

用法:#gcc test.o -o test

作用:将编译输出文件test.o链接成最终可执行文件test。

7. 选项-O

用法:#gcc -O1 test.c -o test

作用:使用编译优化级别1编译程序。级别为1~3,级别越大优化效果越好,但编译时间越长。

二. 多源文件的编译方法

如果有多个源文件,基本上有两种编译方法:

[假设有两个源文件为test.c和testfun.c]

1. 多个文件一起编译

用法:#gcc testfun.c test.c -o test

作用:将testfun.c和test.c分别编译后链接成test可执行文件。

2. 分别编译各个源文件,之后对编译后输出的目标文件链接。

用法:

#gcc -c testfun.c //将testfun.c编译成testfun.o

#gcc -c test.c //将test.c编译成test.o

#gcc -o testfun.o test.o -o test //将testfun.o和test.o链接成test

以上两种方法相比较,第一中方法编译时需要所有文件重新编译,而第二种方法可以只重新编译修改的文件,未修改的文件不用重新编译。

Linux下gcc命令怎么使用,详细的参数说明

用法:gcc [选项] 文件...

选项:

-pass-exit-codes 在某一阶段退出时返回最高的错误码

--help 显示此帮助说明

--target-help 显示目标机器特定的命令行选项

(使用‘-v --help’显示子进程的命令行参数)

-dumpspecs 显示所有内建 spec 字符串

-dumpversion 显示编译器的版本号

-dumpmachine 显示编译器的目标处理器

-print-search-dirs 显示编译器的搜索路径

-print-libgcc-file-name 显示编译器伴随库的名称

-print-file-name=库 显示 库 的完整路径

-print-prog-name=程序 显示编译器组件 程序 的完整路径

-print-multi-directory 显示不同版本 libgcc 的根目录

-print-multi-lib 显示命令行选项和多个版本库搜索路径间的映射

-print-multi-os-directory 显示操作系统库的相对路径

-Wa,选项 将逗号分隔的 选项 传递给汇编器

-Wp,选项 将逗号分隔的 选项 传递给预处理器

-Wl,选项 将逗号分隔的 选项 传递给链接器

-Xassembler 参数 将 参数 传递给汇编器

-Xpreprocessor 参数 将 参数 传递给预处理器

-Xlinker 参数 将 参数 传递给链接器

-combine 将多个源文件一次性传递给汇编器

-save-temps 不删除中间文件

-pipe 使用管道代替临时文件

-time 为每个子进程计时

-specs=文件 用 文件 的内容覆盖内建的 specs 文件

-std=标准 指定输入源文件遵循的标准

--sysroot=目录 将 目录 作为头文件和库文件的根目录

-B 目录 将 目录 添加到编译器的搜索路径中

-b 机器 为 gcc 指定目标机器(如果有安装)

-V 版本 运行指定版本的 gcc(如果有安装)

-v 显示编译器调用的程序

-### 与 -v 类似,但选项被引号括住,并且不执行命令

-E 仅作预处理,不进行编译、汇编和链接

-S 编译到汇编语言,不进行汇编和链接

-c 编译、汇编到目标代码,不进行链接

-o 文件 输出到 文件

-x 语言 指定其后输入文件的语言

允许的语言包括:c c++ assembler none

‘none’意味着恢复默认行为,即根据文件的扩展名猜测

源文件的语言

以 -g、-f、-m、-O、-W 或 --param 开头的选项将由 gcc 自动传递给其调用的

不同子进程。若要向这些进程传递其他选项,必须使用 -W字母 选项。

“linux”怎么编译c的源程序的?“gcc”编译命令是什么?

格式 gcc [option] [sourcefilename]

介绍一些常用的选项:最简单的是:gcc hello.c

默认的情况下将生成a.out的可执行性文件,你只需要在终端上输入./a.out就可以看到执行的结果.

如果你想指定生成目标文件的名字那么你可以加上 -o选项,命令如下:

gcc -o hello hello.c

命令如下:

gcc -c hello hello.c

在Linux系统中,gcc的命令怎么用?

Gcc最基本的用法是∶gcc [options] [filenames] 其中options就是编译器所需要的参数,filenames给出相关的文件名称。 -c,只编译,不连接成为可执行文件,编译器只是由输入的.c等源代码文件生成.o为后缀的目标文件,通常用于编译不包含主程序的子程序文件。 -o output_filename,确定输出文件的名称为output_filename,同时这个名称不能和源文件同名。如果不给出这个选项,gcc就给出预设的可执行文件a.out。 -g,产生符号调试工具(GNU的gdb)所必要的符号资讯,要想对源代码进行调试,我们就必须加入这个选项。 -O,对程序进行优化编译、连接,采用这个选项,整个源代码会在编译、连接过程中进行优化处理,这样产生的可执行文件的执行效率可以提高,但是,编译、连接的速度就相应地要慢一些。 -O2,比-O更好的优化编译、连接,当然整个编译、连接过程会更慢。 -Idirname,将dirname所指出的目录加入到程序头文件目录列表中,是在预编译过程中使用的参数。找到一个学习linux的好方法,可多看看《linux就该这么学》一书。


网页名称:linux下的gcc命令 linux的gcc使用方法
文章起源:http://hbruida.cn/article/doppohc.html