基本语法
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. Linux系统中如何添加自己的库文件路径

    库文件在连接(静态库和共享库)和运行(仅限于使用共享库的程序)时被使用,其搜索路径是在系统中进行设置的.一般 Linux 系统把 /lib 和 /usr/lib 两个目录作为默认的库搜索路径,所以使用 ...

  2. java class生成jar包(转)

    进入dos操作符窗口cd进入要打成jar包的class文件所有文件夹目录jar cvf [生成jar的名称.jar] [列出class文件] //若有多个,以空隔隔开 如:一.操作零散的单个或几个cl ...

  3. 原码、反码、补码和移码事实上非常easy

    近期在备战软考,复习到计算机组成原理的时候,看到书中关于原码.反码.补码和移码的定义例如以下(n是机器字长): 原码: 反码: 补码: 移码: 看完这些定义以后,我的脑袋瞬间膨胀到原来的二倍!这样变态 ...

  4. 浅谈BFC与应用

    什么是BFC BFC(Block formatting context)的中文翻译我们一般叫做块级格式化上下文.它是一个独立渲染的区域,规定了内部如何布局,同时不受外界的影响.我们的根元素本身就是一个 ...

  5. 【图像识别】 图像处理和图像分析(leptonica)leptonica-1.68安装配置 (vs2008)

    Leptonica Leptonica is a pedagogically-oriented open source site containing software that is broadly ...

  6. URL vs. HTML 录制模式

    转自:http://blog.csdn.net/testing_is_believing/article/details/5274188 一般来说,如果是标准使用IE访问的B/S架构,应该使用HTML ...

  7. Spring的事件处理

    Spring对事件有一些支持,因为项目须要,所以近期小小研究了下究竟这个怎么能够方便的用在实际项目其中来. 说起事件这个东西,事实上就是借鉴的那个观察者模式.这里面涉及到事件源.事件监听者.事件公布者 ...

  8. ym——安卓巴士总结了近百个Android优秀开源项

    转载请注明本文出自Cym的博客(http://blog.csdn.net/cym492224103),谢谢支持! 1.Android团队提供的演示样例项目 假设不是从学习Android SDK中提供的 ...

  9. Tomcat详细用法学习(一)

    在之前有关Tomcat的随笔<Tomcat免安装版的环境变量配置以及Eclipse下的Tomcat配置和测试>和<其他主机连接本地主机Tomcat会出现的防火墙问题>中已经详细 ...

  10. javascript (九)注释

    单行注释,采用双斜杠  // 多行注释,采用 /* */