zoukankan      html  css  js  c++  java
  • GUN的相关使用

    gcc[ option| filename ]...

    1,描述
    .c C 源程序; 预处理, 编译, 汇编
    .C C++源程序; 预处理, 编译, 汇编
    .cc C++源程序; 预处理, 编译, 汇编
    .cxx C++源程序; 预处理, 编译, 汇编
    .m Objective-C 源程序; 预处理, 编译, 汇编
    .i 预处理后的 C 文件; 编译, 汇编
    .ii 预处理后的 C++文件; 编译, 汇编
    .s 汇编语言源程序; 汇编
    .S 汇编语言源程序; 预处理, 汇编
    .h 预处理器文件; 通常不出现在命令行上

    .o 目标文件(Object file)
    .a 归档库文件(Archive file)
    除非使用了-c, -S, 或-E 选项( 或者编译错误阻止了完整的过程), 否则连接总是 最后的步骤.
    在连接阶段中, 所有对应于源程序的.o 文件, -l 库文件, 无法识别的文件名( 包括指定的 .o 目
    标文件和.a 库文件) 按命令行中的顺序传递给连接器.
    2,选项
    总体选项 -x language -c编译或汇编生成目标文件 —E预处理 —S编译后停止 -o指定输出 -g 产生调试信息 不加选择项生成的文件为 可执行文件
    语言选项 -ansi
    警告选项
    调试选项 -g 产生调试信息
    优化选项 -O -O1
    预处理器选项 -include
    汇编器选项
    连接器选项
    目录选项
    目标机选项 -b i386v
    配置相关选项
    代码生成选项

    3,文件(FILE)
    file.c C 源文件
    file.h C 头文件( 预处理文件)
    file.i 预处理后的 C 源文件
    file.C C++源文件
    file.cc C++源文件
    file.cxx C++源文件
    file.m Objective-C 源文件
    file.s 汇编语言文件
    file.o 目标文件
    a.out 连接的输出文件
    TMPDIR/cc* 临时文件
    LIBDIR/cpp 预处理器
    LIBDIR/cc1 C 编译器
    LIBDIR/cc1plus C++编译器
    LIBDIR/collect 某些机器需要的连接器前端(front end) 程序
    LIBDIR/libgcc.a GCC 子例程(subroutine) 库
    /lib/crt[01n].o 启动例程(start-up)
    LIBDIR/ccrt0 C++的附加启动例程
    /lib/libc.a 标准 C 库, 另见 intro (3)
    /usr/include #include 文件的标准目录
    LIBDIR/include #include 文件的标准 gcc 目录
    LIBDIR/g++-include #include 文件的附加 g++目录
    LIBDIR 通常为/usr/local/lib/machine/version.
    TMPDIR 来自环境变量 TMPDIR ( 如果存在, 缺省为/usr/tmp , 否则为 /tmp).
    另见(SEE ALSO)
    cpp(1), as(1), ld(1), gdb(1), adb(1), dbx(1), sdb(1).
    info中 ` gcc', ` cpp', ` as', ` ld', 和` gdb' 的条目 .
    Using and Porting GNU CC (for version 2.0) , Richard M. Stallman; The C
    Preprocessor, Richard M. Stallman; Debugging with GDB: the GNU
    Source-Level Debugger, Richard M. Stallman和Roland H. Pesch; Using as:
    the GNU Assembler, Dean Elsner, Jay Fenlason & friends; ld: the GNU linker,
    Steve Chamberlain和Roland Pesch.

    4,GDB的使用
    gcc -g main.c -o main
    gdb main
    list 1 //从第一行开始列出源代码
    list
    回车 //从第11行开始列出源代码
    l main //l为list的缩写
    quit//退出调试环境
    start //开始调试 到mian的第一条停止
    n(next) //执行下一条命令 跳过函数
    s(step) //钻入函数中调试
    bt(backtrace) //查看函数调用的栈帧
    i(info) //查看函数局部变量的值
    f(frame) //选择帧查看
    p(print) //打印变量
    finish //让程序运行从当前函数返回
    set var sum=0 //不想放弃此次调试机会,在调试中直接更改变量参数
    p sun=0 //也可以用print来修改变量的值或者调用参数

  • 相关阅读:
    021.day21 反射 Class类 反射常用操作
    020.day20 线程概述 多线程优缺点 线程的创建 线程常用方法 生命周期 多线程同步
    019.day19 缓冲流 对象流 标准输入输出流
    018.day18 map集合如何实现排序 File类 IO流 字节流 字符流 编码
    017.day17 Map接口 克隆 treeSet集合排重缺陷
    016.day16 HashSet TreeSet 比较器Comparable Comparator
    015.day15
    014.day14
    013.day13
    线程
  • 原文地址:https://www.cnblogs.com/nku-wangfeng/p/7636682.html
Copyright © 2011-2022 走看看