基本语法
gcc [options] [filenames]

 说明:

 在gcc后面可以有多个编译选项,同时进行多个编译操作。很多

的gcc选项包括一个以上的字符。因此你必须为每个选项指定各

自的连字符。例如,下面的两个命令是不同的:

gcc -p -g test1.c

gcc -pg test1.c

 当你不用任何选项编译一个程序时,GCC将会建立(假定编译成功)

一个名为a.out的可执行文件。

GCC选项

-o选项
你能用 -o 编译选项来为将产生的可执行文件指定一个文件名来代替 a.out。
例:gcc –o count count.c
 -c选项:告诉GCC仅把源代码编译为目标代码而跳过汇编和连接的步骤。
这个选项使用的非常频繁,因为它使得编译多个C程序时速度更快并且更
易于管理。缺省时GCC建立的目标代码文件有一个.o的扩展名。
例:gcc –c test2.c
 -E 只运行 C 预编译器。
 -S 编译选项告诉 gcc 在为 C 代码产生了汇编语言文件后停止编译。
 -shared 生成共享目标文件。通常用在建立共享库时。
 -static 禁止使用共享连接。

警告选项:

在gcc中用开关-Wall控制警告信息,使用示例命令如下:
gcc –Wall -o test3_1 test3_1.c
 -w 不生成任何警告信息。

查找选项:

 gcc一般使用默认路径查找头文件和库文件。如果文件所
用的头文件或库文件不在缺省目录下,则编译时要指定
它们的查找路径。
 -I选项:指定头文件的搜索目录
例:
gcc –I/export/home/st –o test1 test1.c
 -L选项:指定库文件的搜索目录
例:
gcc –L/usr/X11/R6/lib –o test1 test1.c

问题:有多个源文件时,如何生成一个可执行文件?

 方法1:gcc -Wall -o mytest test1.c test2.c test3.c
 方法2:
gcc -Wall -c test1.c
gcc -Wall -c test2.c
gcc -Wall -c test3.c
gcc -o mytest test1.o test2.o test3.o

GNU C的使用的更多相关文章

  1. 感悟 GNU C 以及将 Vim 打造成 C/C++ 的半自动化 IDE

    C 语言在 Linux 系统中的重要性自然是无与伦比.不可替代,所以我写 Linux 江湖系列不可能不提 C 语言.C 语言是我的启蒙语言,感谢 C 语言带领我进入了程序世界.虽然现在不靠它吃饭,但是 ...

  2. 使用 GCC 和 GNU Binutils 编写能在 x86 实模式运行的 16 位代码

    不可否认,这次的标题有点长.之所以把标题写得这么详细,主要是为了搜索引擎能够准确地把确实需要了解 GCC 生成 16 位实模式代码方法的朋友带到我的博客.先说一下背景,编写能在 x86 实模式下运行的 ...

  3. 在 Linux 中使用 Eclipse 和 Gnu Autotools 管理 C/C++ 项目

    在我该系列的之前的所有随笔中,都是采用 Linux 发行版自带的包管理工具(如 apt-get.yum 等)进行软件的安装和卸载,从来没有向大家展示使用源代码自行编译安装软件的方法.但是长期混迹于 U ...

  4. GNU Readline 库及编程简介

    用过 Bash 命令行的一定知道,Bash 有几个特性: TAB 键可以用来命令补全 ↑ 或 ↓ 键可以用来快速输入历史命令 还有一些交互式行编辑快捷键: C-A / C-E 将光标移到行首/行尾 C ...

  5. GNU Radio Radar Toolbox

    GNU Radio Radar Toolbox Install guide Change to any folder in your home directory and enter followin ...

  6. gnu coreutils-8.25 for win32 static - Beta

    gnu.win32-coreutils-8.25.7z 2.7 Mb bc-1.06.tar.gz coreutils-8.25.tar.xz diffutils-3.5.tar.xz gawk-4. ...

  7. window下搭建c开发环境(GNU环境的安装)

    一.在windows平台上安装GNU环境 windows操作系统不自带GNU环境,如果需要开发跨平台的C语言程序,那么需要给windows安装GNU环境 windows下的两款GNU环境:MinGW和 ...

  8. GNU make使用变量⑤变量的引用、定义等

    在 Makefile 中,变量是一个名字(像是 C 语言中的宏),代表一个文本字符串(变量的值).在 Makefile 的目标.依赖.命令中引用变量的地方,变量会被它的值所取代(与 C 语言中宏引用的 ...

  9. (转)完全用GNU/Linux工作 by 王珢

    完全用GNU/Linux工作 王珢      (看完这篇博文,非常喜欢王珢的这篇博客,也我坚定了学gnu/linux的决心,并努力去按照国外的计算机思维模式去学习编程提高自己.看完这篇文章令我热血沸腾 ...

  10. Gnu/Linux的学习探索

    1.Gnu/Linux是一个基于POSIX和UNIX的多用户多任务 支持多线程多CPU的类UNIX的操作系统. 继承了UNIX以网络为核心的设计思想 是性能稳定的多用户网络操作系统. 1991年10月 ...

随机推荐

  1. C语言,C++,static

    术语static有着不寻常的历史.起初,在C中引入关键字static是为了表示退出一个块后仍然存在的局部变量.随后,static在C中有了第二种含义:用来表示不能被其它文件访问的全局变量和函数.为了避 ...

  2. 内嵌W5100的网络模块WIZ812MJ--数据手册

    1.简介 WIZ812MJ是一款内嵌了W5100(TCP/IP硬件芯片,内置PHY).MAG-JACK(带变压器的RJ45)和其他胶连逻辑的网络模块.它可以当作一个组件使用,而且不需要为W5100和变 ...

  3. graph driver-device mapper-04libdevmapper基本操作

    // 创建thin pool // 调用路径:NewDeviceSet->initDevmapper->createPool 1.1 func createPool(poolName st ...

  4. TCP协议中的计时器

    说明:  本文仅供学习交流.转载请标明出处,欢迎转载! 本文是下面文献相关内容的总结 [1] <TCP/IP具体解释 卷1:协议> [2] <TCP/IP协议族 第4版> [3 ...

  5. Qt之界面出现、消失动画效果

    在学习Qt的这2.3个月里,对Qt越发感兴趣,从刚开始的盲目.无所适从到现在的学习.研究.熟练.掌握的过程中,我学到了很多东西,也学会了如何通过自学让自己更加成熟.强大起来,如何更有效地提高自己学习. ...

  6. css3 动画运动路径

    1.cubic-bezier贝塞尔曲线CSS3动画工具 http://www.xuanfengge.com/cubic-bezier-bezier-css3-animation-tools.html ...

  7. C# - 委托的使用

    代码: using System; namespace Delegate { public class Program { //声明委托 public delegate void DelegatePa ...

  8. FZU 1894 (双端队列)

    Problem 1894 志愿者选拔 Accept: 1166    Submit: 3683 Time Limit: 1500 mSec    Memory Limit : 32768 KB  Pr ...

  9. 通过崩溃地址找错误行数之Delphi版

    通过崩溃地址找错误行数之Delphi版2009-5-11 17:42:35 来源: 转载 作者:网络 访问:360 次 被顶:2 次 字号:[大 中 小]核心提示:什么是 MAP 文件?简单地讲, M ...

  10. 获取合并单元格中值的一个方法POI

    private static String getCellValueForMerginRegion(Cell cell) { int rowIdx=cell.getRowIndex(); Sheet ...