02.03_111期_linux_gdb使用笔记

1 yum工具的常用选项:

        1.1 install 表示安装软件包

        1.2 list 列出所有可供安装的软件包

        1.3 search 搜索包含指定关键字的软件包

        1.4 remove 卸载指定的软件包

2 yum 命令的说明

        2.1 yum工具在每次安装指定软件包的时候,都会检测源服务器上的软件包信息,为了便捷不

              用每次都去搜索软件包信息,

        2.2 yum makecache将软件包信息缓存到本地, yum clean all 清理老旧的缓存信息。

        2.3 yum search 用于在搜索包含有指定关键字的软件包

        2.4 yum -y update:升级所有包同时,也升级软件和系统内核;

        2.5 yum -y upgrade:只升级所有包,不升级软件和系统内核,软件和内核保持原样。

7 编译阶段的编译优化的注意事项

        7.1 死代码删除是编译最优化技术,指的是移除根本执行不到的代码,或者对程序运行结果没

              有影响的代码。注意: 不是删除被注释的代码

        7.2 内联函数,也叫编译时期展开函数, 指的是建议编译器将内联函数体插入并取代每一处

              调用函数的地方,从而节省函数调用带来的成本,

        7.3 内联函数可以对参数的类型进行校验,也可以对这段代码进行调试,宏只是文本替换而已

        7.4 for循环的循环控制变量,通常被cpu访问频繁,因此如果调度到寄存器中进行访问则不用

              每次从内存中取出数据,可以提高访问效率

        7.5 强度削弱是指执行时间较短的指令等价的替代执行时间较长的指令,

              比如 num % 128 与 num & 127 相较,则明显&127更加轻量,

8 编译过程预处理

        8.1 编译过程为 扫描程序->语法分析->语义分析->源代码优化->代码生成器->目标代码优化;

        8.2 扫描程序进行词法分析,从左向右,从上往下扫描源程序字符,识别出各个单词,确定单

              词类型

        8.3 语法分析是根据语法规则,将输入的语句构建出分析树,或者语法树,也就是我们答案中

              提到的分析树parse tree或者语法树syntax tree

        8.4 语义分析是根据上下文分析函数返回值类型是否对应这种语义检测,可以理解语法分析就

              是描述一个句子主宾谓是否符合规则,而语义用于检测句子的意思是否是正确的

        8. 4 目标代码生成指的是,把中间代码变换成为特定机器上的低级语言代码。

9  gcc常见选项:

        9.1 -c 汇编完成后停止,不进行链接

        9.2 -E 预处理完成后停止,不进行编译

        9.3 -S 编译完成后停止,不进行汇编

        9.4 -o 用于指定目标文件名称

        9.5 -g 生成debug程序。向程序中添加调试符号信息

11 makefile注意事项

        11.1 makefile文件中,保存了编译器和链接器的参数选项,并且描述了所有源文件之间的关

                系。make程序会读取makefile文件中的数据,然后根据规则调用编译器,汇编器,链接

                器产生最后的输出。

        11.2 Makefile里主要包含了五个东西:显式规则、隐晦规则、变量定义、文件指示和注释,

        11.2.1 显式规则说明了,如何生成一个或多个目标文件。

        11.2.2 make有自动推导的功能,所以隐晦的规则可以让我们比较粗糙地简略地书makefile,

                   比如源文件与目标文件之间的时间关系判断之类

        11.2.3 在makefile中可以定义变量,当makefile被执行时,其中的变量都会被扩展到相应的引

                   用位置上,通常使用 $(var) 表示引用变量

        11.2.4 文件指示。包含在一个makefile中引用另一个makefile,类似C语言中的include; 

        11.2.5 注释,makefile中可以使用 # 在行首表示行注释

        11.3 默认的情况下,make命令会在当前目录下按顺序找寻文件名为“GNUmakefile”、

                “makefile”、“Makefile”的文件,C选项也正确

12 makefile中关键字的理解

        12.1 make的执行规则是,只生成所有目标对象中的第一个,当然make会根据语法规则,递

                归生成第一个目标对象的所有依赖对象后再回头生成第一个目标对象,生成后退出。

        12.2 make在执行makefile规则中,根据语法规则,会分析目标对象与依赖对象的时间信息,

                判断是否在上一次生成后,源文件发生了修改,若发生了修改才需要重新生成

        12.3 makefile中的伪对象表示对象名称并不代表真正的文件名,与实际存在的同名文件没有相互关系,因此伪对象不管同名目标文件是否存在都会执行对应的生成指令。伪对象的作用有两个,1. 使目标对象无论如何都要重新生成。2. 并不生成目标文件,而是为了执行一些指令。 根据对伪对象的理解,

        12.4 makefile中使用 .PHONY 来声明伪对象, .PHONY: clean。 D选项正确

相关推荐

  1. 02.03_111_linux_gdb使用笔记

    2024-02-16 14:30:02       26 阅读
  2. 使用GO语言验证证书的有效

    2024-02-16 14:30:02       18 阅读
  3. 52. 携带研究材料(第七模拟笔试

    2024-02-16 14:30:02       20 阅读
  4. 57. 爬楼梯(第八模拟笔试

    2024-02-16 14:30:02       15 阅读
  5. 56. 携带矿石资源(第八模拟笔试

    2024-02-16 14:30:02       17 阅读
  6. KamaCoder 52. 携带研究材料(第七模拟笔试

    2024-02-16 14:30:02       16 阅读
  7. xxl-job使用笔记

    2024-02-16 14:30:02       39 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-16 14:30:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-16 14:30:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-16 14:30:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-16 14:30:02       20 阅读

热门阅读

  1. ROS学习笔记14:Action通信

    2024-02-16 14:30:02       28 阅读
  2. 2301: 不定方程解的个数

    2024-02-16 14:30:02       30 阅读
  3. Go教程-Go语言简介

    2024-02-16 14:30:02       38 阅读
  4. 备战蓝桥杯 Day4

    2024-02-16 14:30:02       26 阅读
  5. pytorch dataloader 中collate_fn是什么

    2024-02-16 14:30:02       31 阅读
  6. CentOS7 修改网络配置方法

    2024-02-16 14:30:02       29 阅读
  7. python34-Python列表和元组之加法

    2024-02-16 14:30:02       27 阅读
  8. BDD之Gherkin(小黄瓜)语法

    2024-02-16 14:30:02       32 阅读