• gcc工作流程


    1.gcc工作流程

       1预处理--E

      -宏替换

      -头文件展开

      -注释去掉

      -xxx.c->xxx.i

       -c文件

       2编译--S

      -xxx.i->xxx.s

      -汇编文件

       3汇编--c

      -xxx.s->xxx.o

      -二进制文件

       4链接

      -xxx.o->xxx(可执行)

    在使用Gcc编译器的时候,我们必须给出一系列必要的调用参数和文件名称。GCC编译器的调用参数大约有100多个,其中多数参数我们可能根本就用不到,这里只介绍其中最基本、最常用的参数。

    让notepad++调用gcc让notepad++调用gccGCC最基本的用法是∶gcc [options] [filenames]

    其中options就是编译器所需要的参数,filenames给出相关的文件名称。

    -c,只编译,不连接成为可执行文件,编译器只是由输入的.c等源代码文件生成.o为后缀的目标文件,通常用于编译不包含主程序的子程序文件。

    -o output_filename,确定输出文件的名称为output_filename,同时这个名称不能和源文件同名。如果不给出这个选项,gcc就给出预设的可执行文件a.out。

    -g,产生符号调试工具(GNU的gdb)所必要的符号资讯,要想对源代码进行调试,我们就必须加入这个选项。

    -O,对程序进行优化编译、连接,采用这个选项,整个源代码会在编译、连接过程中进行优化处理,这样产生的可执行文件的执行效率可以提高,但是,编译、连接的速度就相应地要慢一些。

    -O2,比-O更好的优化编译、连接,当然整个编译、连接过程会更慢。

    -Idirname,将dirname所指出的目录加入到程序头文件目录列表中,是在预编译过程中使用的参数。C程序中的头文件包含两种情况∶

    A)#include <myinc.h>

    B)#include “myinc.h”

    其中,A类使用尖括号(< >),B类使用双引号(“ ”)。对于A类,预处理程序cpp在系统预设包含文件目录(如/usr/include)中搜寻相应的文件,而B类,预处理程序在目标文件的文件夹内搜索相应文件。 '
    图片
  • 相关阅读:
    公司的首页
    ubuntu 无法在Eclipse中识别 设备
    Eclipse 和 Android Studio 并存
    Eclipse 和 Android Studio 并存
    mac 节约硬盘空间
    一公升的眼泪
    Mac Ogre
    代码大全 是极好的
    Ogre Ubuntu 环境搭建
    cocos2d-x 环境搭建 c++ 版本
  • 原文地址:https://www.cnblogs.com/MAPO/p/8459663.html
Copyright © 2020-2023  润新知