zoukankan      html  css  js  c++  java
  • 2018-2019-1 20165327 《信息安全系统设计基础》第一周学习总结

    2018-2019-1 20165327 《信息安全系统设计基础》第一周学习总结
    测试1:
    结果截图:
    在Vi中使用K查找printf的帮助文档:将光标放到printf或printf前面一格,按 shift+k 即找到帮助文档
    测试2:

    测试3

    [测试4:]

    问题:无法debug(已解决)
    [测试5: ]


    [测试6: ]



    (这是代码输入的问题???已解决!!!关于tab键的输入,还费了些周折。输入tab键一定要先按“i”进入输入模式!!!)
    知识总结

    第一章hello程序的生命周期

    1.hello程序是从源程序开始的。创建并保存hello.c的文本文件。信息=比特流+上下文

    vi hello.c
    编译
    hello程序分步编译
    1、预处理(包括打开头文件和翻译宏)
    hello.c->hello.i

    gcc -E hello.c -o hello.i
    这时打开hello.i发现,短短几行代码已被展开为一千多行。

    2、编译
    hello.i->hello.s

    gcc -S hello.i -o hello.s
    这时打开hello.s发现是汇编代码,前面带.的是指令,可以去掉。

    3、汇编
    hello.s->hello.o

    gcc -c hello.s -o hello.o
    这时打开hello.o发现是乱码,其实已经是二进制文件,可以使用od命令打开。

    od -tx1 hello.o
    反汇编命令:

    objdump -d hello.o
    4、链接

    gcc hello.o -o hello
    此时将产生hello可执行文件
    系统硬件组成(总线、I/O设备、主存、处理器)

    运行hello程序时,硬件间的交互。

    介绍了cache的重要性及存储设备形成的层次结构

    操作系统通过三个抽象概念来管理硬件(进程(线程)、虚拟内存、文件)

    系统间利用网络通信的模型

    介绍计算机中三个重要主题:

    Amdahld定理
    并行与并发

    第七章 链接

    7.1编译器驱动程序
    编译器驱动程序包括:语言预处理器、编译器、汇编器、链接器。

    7.2静态链接

    链接器的两个任务:

    符号解析
    重定位
    7.3目标文件

    目标文件纯粹是字节块的集合

    目标文件有三种形式:
    1、可重定位目标文件
    2、可执行目标文件
    3、共享目标文件
    7.4可重定位目标文件
    ELF格式

    7.5符号和符号表

    7.6符号解析
    7.6.1链接器如何解析多重定义的全局符号
    7.6.2与静态库链接
    7.6.3链接器如何使用静态库来解析引用

    7.7重定位
    7.7.1重定位条目
    7.7.2重定位符号引用

    7.8可执行目标文件

    7.9加载可执行目标文件

    7.10动态链接共享库

    7.11从应用程序中加载和链接共享库

    7.12位置无关代码

    7.13库打桩机制

    7.14处理目标文件的工具:()

  • 相关阅读:
    HTML编码规范(转)
    ASP.NET连接MySQL数据库方法(测试可行)
    Redis源码解析05: 压缩列表
    Redis源码解析04: 跳跃表
    Redis源码解析03: 字典的遍历
    Redis源码解析02: 字典
    Redis源码解析01: 简单动态字符串SDS
    小象垃圾分类小程序从开始到结束
    spring boot踩坑记
    spring boot打包问题
  • 原文地址:https://www.cnblogs.com/yjtblog/p/9694059.html
Copyright © 2011-2022 走看看