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来修改变量的值或者调用参数

  • 相关阅读:
    [bzoj4025]二分图
    [hdu4010]: Query on The Trees
    [bzoj3514]: Codechef MARCH14 GERALD07加强版
    [hdu3943]K-th Nya Number
    [hdu5632][BC#73 1002]Rikka with Array
    在Eclipse中使用建立使用Gradle做依赖管理的Spring Boot工程
    Spring Boot 添加Shiro支持
    常用Linux命令
    HTML5之API
    JavaScript的客户端存储
  • 原文地址:https://www.cnblogs.com/nku-wangfeng/p/7636682.html
Copyright © 2011-2022 走看看