zoukankan      html  css  js  c++  java
  • 一.复习GCC编译器的用法

    1.复习GCC编译器的用法

    欲善其工,那么要先利其器。在这个C语言巩固与提高的阶段中,如果想要更好的达成预期目标,首先就要熟练掌握GCC编译器的用法。以下是GCC相关知识:

    GCC使用语法

    gcc 选项 参数

    选项

    -o : 指定生成的输出文件

    -E : 只进行编译预处理

    -S : 讲C代码转化为汇编代码

    -c : 只进行编译操作,不进行链接操作

    -wall : 显示警告信息

    -O : 编译优化

    参数

    C源文件:就是需要编译的C语言代码文件

    实例

    有一源文件名为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

    将汇编输出文件test.s编译输出test.0文件

    无选项链接

    gcc test.o -o test

    将编译输出文件test.o链接为最终的可执行文件test

    从上述例子可以看出,c->d->e->无选项链接这几步操作实现了将C语言源文件编译为最终可执行文件的目的。也就是说,一个C语言源文件需要经过预处理,汇编,编译,链接这四个步骤才能成为最终的可执行文件


    上述几个是基本操作,不过若想成为一个合格的C语言码农,你还得知道以下几点:

    6.选项-O

    gcc -O1 test.c -o test

    将test.c使用编译级别为1的方式编译为test可执行文件,gcc中级别为1-3,级别越大,程序的优化效果就越好,但相应的编译时间越长。(注:编译选项为大O,而编译选项为小o)

    7.多文件编译方法

    若工程较大,存在多个.c文件。那么有以下两种编译方法:

    假设有两个源文件为test1.c和test2.c

    1.多个文件一起打包编译

    gcc test1.c test2.c -o test

    将两个文件分别编译后,链接为可执行文件test

    2.单独编译各个文件,之后将输出的.o文件链接起来

    gcc -c test1.c #将test1编译为test1.o

    gcc -c test2.c #同上

    gcc -o test1.o test2.o -o test #将两个.o文件链接为test可执行文件

    注:第一种方式是将所有文件重新编译然后链接,而第二种方式可以有所选择,可以针对性的编译有修改的文件,无修改的不用编译。

  • 相关阅读:
    目标检测 anchor 理解笔记
    目标检测 IOU(交并比) 理解笔记
    目标检测 非极大值抑制(Non-Maximum Suppression,NMS)
    c# 获取当前时间的微秒
    [macOS开发.NET Core] 一个简单的WEB程序
    海康相机SDK二次开发只有视频无声音问题
    [macOS开发.NET Core] 开篇 & 抉择 & 先利其器
    Linux学习--4.用户和组的管理
    Linux学习--3.命令及查看命令帮助
    Linux学习--2.文件管理的基本命令
  • 原文地址:https://www.cnblogs.com/hanhuo/p/9351968.html
Copyright © 2011-2022 走看看