zoukankan      html  css  js  c++  java
  • GCC,GDB,Makefile

    编译器GCC的用法:

       gcc 【选项】【文件名】【选项】【文件名】

    总体的选项:

    -E:对源文件进行预处理(包含头文件,宏等替换)

    -S:对源文件进行编译。(汇编代码)

    -c:对源文件进行编译或汇编

    -o:输出目标文件。

    调试选项:

    -g :产生调试信息

    优化选项:

    O0:不进行优化

    O1:对目标文件的性能进行优化

    静态链接是指编译系统在链接阶段把程序的目标文件和所需的函数库文件链接在在一起,这样生成的文件就可以

    在没有函数库的情况下运行,但这种方式可执行文件体积较大,但与你运行速度快。

    动态链接是指编译系统在链接阶段并不把目标文件和函数库文件链接在一起,而是等到程序在运行过程中需要使用

    时才链接函数库。没有库文件,体积小,但运行效率低一些

    Makefile:

    目标文件:依赖文件

      命令

    $(变量名)   支持自动推导   伪目标 (make clean)  文件查找(VPATH) cd 子目录 && $(Make)

    条件判断 函数    

    Makefile的自动生成

    GDB调试器:

    编译时:gcc -g选项

    l 查看源代码,10行为单位,再l再显示10行

    设置断点:b 7

    查看断点:info b

    r 运行,在断点前停下来

    p n查看变量值

    c继续运行

    s 单步执行 n不进入函数内部执行

    Live together,or Die alone!
  • 相关阅读:
    4、现有的命名方式有多少种?请举例说明。
    第二次作业
    第一次作业
    RateLimiter源码
    使用ASM字节码框架实现动态代理
    Java流机制学习
    Java8 Stream 学习总结
    XML实体解析器的作用
    DefaultResouceLoader的设计
    RSA 非对称加密 数字签名 数字证书
  • 原文地址:https://www.cnblogs.com/hzhida/p/2400916.html
Copyright © 2011-2022 走看看