首页 > C/C++开发工具专区 > C/C++其它IDE资源 > [转贴]gcc基本使用指南
2005
11-22

[转贴]gcc基本使用指南

gcc最基本的用法是∶gcc [options] [filenames]
      程序编译的四个过程:预处理、编译、汇编、连结
      基本参数说明:
       -E:只进行预处理
       -S:只进行编译;产生汇编代码
       -c:只编译、汇编,不连接成为可执行文件,编译器只是由输入的.c等源代码文件生成.o为后缀的目标文件,通常用于编译不包含主程序的子程序文件
      ; -o 
      output_filename:确定输出文件的名称为output_filename,同时这个名称不能和源文件同名。如果不给出这个选项,gcc就给出预设的可执行文件a.out
      ; -v:打印程序的编译过程,以及编译器的版本
      ; -g:产生符号调试工具(GNU的gdb)所必要的符号资讯,要想对源代码进行调试,必须加入这个选项
      ; -O:对程序进行优化编译、连接
      ; -O2:比-O更好的优化
      ; -Idirname:将dirname所指出的目录加入到程序头文件目录列表中,是在预编译过程中使用的参数。C程序中的头文件包含两种情况∶
      A)#include <>
      B)#include “myinc.h”
      其中,A类使用尖括号(< >),B类使用双引号(“
      ”)。对于A类,预处理程序cpp在系统预设包含文件目录(如/usr/include)中搜寻相应的文件,而对于B类,cpp在当前目录中搜寻头文件,这个选项的作用是告诉cpp,如果在当前目录中没有找到需要的文件,就到指定的dirname目录中去寻找。在程序设计中,如果我们需要的这种包含文件分别分布在不同的目录中,就需要逐个使用-I选项给出搜索路径
      ;
      -Ldirname:将dirname所指出的目录加入到程序函数档案库文件的目录列表中,是在连接过程中使用的参数。在预设状态下,连接程序ld在系统的预设路径中(如/usr/lib)寻找所需要的档案库文件,这个选项告诉连接程序,首先到-L指定的目录中去寻找,然后到系统预设路径中寻找,如果函数库存放在多个目录下,就需要依次使用这个选项,给出相应的存放目录
      ;
      -lname:在连接时,装载名字为“libname.a”的函数库,该函数库位于系统预设的目录或者由-L选项确定的目录下。例如,-lm表示连接名为“libm.a”的数学函数库
      ; -nostdlib:不使用系统默认的startup
      file和系统函数库,仅使用自己定义的库进行连结,某些特定的平台可能需要系统默认的库libgcc.a避免一些系统错误;因此当使用此命令是一般需要将libgcc.a库另外指定进行连结
      ; .ld(link description)文件:ld文件是指出连接时内存映象格式的文件
      大部分情况下各种参数混合使用时的顺序不会有什么影响,但是当同一个参数连续使用时将产生不同的效应,例如:-L命令,不同的顺序则编译起搜索的顺序不同


原贴地址:http://publishblog.blogchina.com/blog/tb.b?diaryID=3564312


[转贴]gcc基本使用指南》有 2 条评论

  1. cboy 说:

    Gcc好用不?

  2. 碧蓝右耳 说:

    还算容易上手。
    比VC和BCB困难,第一次使用要配置环境,比较麻烦。用到一定程度会觉得非常复杂,功能太强大。
    但是用熟了会觉得很好用

    碧蓝右耳38701.6743055556

留下一个回复