zoukankan      html  css  js  c++  java
  • C语言基础(21)-C语言编译过程及GCC参数简介

    任何C语言的编译过程可分为以下三部分:

    一.预编译

    在C语言中,以#开头的语句又叫预编译指令。预编译主要做以下两件事情:

    1.将#include包含的头文件做简单的文本替换;

    2.将代码中的注释删除。

    gcc -E 参数代表预编译。以test.c函数为例,内容如下:

    进行预编译:

    如上图,编译完成后可生成new.c文件,打开new.c

    发现之前写的#include<stdio.h>和注释都不见了,而上面出现了一堆乱七八糟的代码。事实上,预编译做的事情就是将注释去掉,然后将#include <stdio.h> 替换成上面那部分代码,而上面那部分代码其实就是stdio.h文件的内容。

    二.编译

    编译的作用就是把文本的C语言编译为二进制的指令。

    gcc -c 参数代表编译。

    三.链接

    C语言写的程序是需要依赖各种库的,所以编译之后还需要把库链接到最终的可执行程序当中去。

    gcc 没有单独的链接参数

    链接a.o最后生成的文件叫a.执行该文件:

    显示程序的最终执行结果:hello world

    PS: gcc -o 的语法:【gcc 源文件 -o 编译后生成的文件名】,o就是output的意思。

  • 相关阅读:
    Android学习——SAX解析方式
    Android学习——pull解析方式
    Android学习——使用okhttp
    开课第十五周周总结
    顶会热词3
    顶会热词2
    顶会热词1
    配置JAVA环境
    配置mybaits的一些坑
    Maven配置和idea种tomcat配置的一些坑点
  • 原文地址:https://www.cnblogs.com/yongdaimi/p/6644809.html
Copyright © 2011-2022 走看看