2019-2020-1 20175227 《信息安全系统设计基础》第三周学习总结

教材学习内容总结

  • GCC

    • GNU CC(简称为gcc)是GNU项目中符合ANSI C标准的编译系统,能够编译用C、C++和Object C等语言编写的程序。
    • GCC编译代码的过程如下:

可以把编译过程分成四步,以编译hello.c生成可执行文件hello为例,如下图:

  • 预处理:gcc –E hello.c –o hello.i gcc –E调用cpp

  • 编 译:gcc –S hello.i –o hello.s gcc –S调用ccl

  • 汇 编:gcc –c hello.s –o hello.o gcc -c 调用as

  • 链 接:gcc hello.o –o hello gcc -o 调用ld

  • GDB

    • UNIX及UNIX-like下的调试工具。GDB这个调试工具相比于VC、z的优点是具有修复网络断点以及恢复链接等功能,比BCB的图形化调试器有更强大的功能。
    • 功能
      • 启动程序,可以设置运行环境和参数来运行指定程序
      • 让程序在指定断点处停止执行
      • 对程序作出相应调整,这样就能纠正一个错误后继续调试
    • 注意使用-g编译选项的gcc命令来编译源程序
    • 命令

  • Makefile

    • 一个工程中的源文件不计其数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为 makefile就像一个Shell脚本一样,其中也可以执行操作系统的命令。
    • 功能
      • 启动程序,可以设置运行环境和参数来运行指定程序

库是共享程序代码的方式,一般分为静态库和动态库。

  • 静态库

    • 程序编译一般需经预处理、编译、 汇编和链接几个步骤。在我们的应用中,有一些公共代码是需要反复使用,就把这些代码编译为“库”文件;在链接步骤中,连接器将从库文件取得所需的代码,复制到生成的可执行文件中。这种库称为静态库。
    • 特点:
      • 可执行文件中包含了库代码的一份完整拷贝
    • 缺点:
      • 被多次使用就会有多份冗余拷贝。

  • 动态库

    • 动态库又称动态链接库英文为DLL,是Dynamic Link Library 的缩写形式,DLL是一个包含可由多个程序同时使用的代码和数据的库,DLL不是可执行文件。动态链接提供了一种方法,使进程可以调用不属于其可执行代码的函数。函数的可执行代码位于一个 DLL 中,该 DLL 包含一个或多个已被编译、链接并与使用它们的进程分开存储的函数。DLL 还有助于共享数据和资源。多个应用程序可同时访问内存中单个DLL 副本的内容。DLL 是一个包含可由多个程序同时使用的代码和数据的库。Windows下动态库为.dll后缀,在linux下为.so后缀。

  • 二者区别

    • 静态库:链接时完整地拷贝至可执行文件中,被多次使用就有多份冗余拷贝。
    • 动态库:链接时不复制,程序运行时由系统动态加载到内存,供程序调用,系统只加载一次,多个程序共用,节省内存。

教材学习中的问题和解决过程

代码调试中的问题和解决过程

  • 问题1:编译c文件时,提示警告信息

  • 问题1解决方案:不需要注意警告信息,不会影响编译结果

代码托管

(statistics.sh脚本的运行结果截图)

上周考试错题总结

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 10000行 30篇 400小时
第一周 51/51 1/1 8/8

参考资料

  • 《深入理解计算机系统V3》学习指导
  • https://blog.csdn.net/weixin_30394333/article/details/99319515
  • https://www.jianshu.com/p/090e1c0310ab

2019-2020-1 20175227 《信息安全系统设计基础》第三周学习总结相关推荐

  1. 信息安全系统设计基础第三周学习总结

    信息的表示和处理 一.gcc 编译 使用C99特性时 gcc -std=c99 xxx.c 实验楼环境为64位,编译为32位机器码: gcc -m32 xxx.c 二. 教材导读 三种数字: 无符号( ...

  2. 信息安全系统设计基础第三周学习总结—20135227黄晓妍

    一.Vim编辑器 1.Vim的六种模式 2.Vim三种常用模式的使用方式,以及三者的切换.打开Vim即默认进入普通模式,按i进入插入模式,按esc从插入模式退出普通模式,再按:进入命令行模式. 普通模 ...

  3. 2019-2020-1 20175227 《信息安全系统设计基础》第二周学习总结

    2019-2020-1 20175227 <信息安全系统设计基础>第二周学习总结 教材学习内容总结 二进制在计算机中的重要地位 二进制是计算技术中广泛采用的一种数制.二进制数据是用0和1两 ...

  4. # 2017-2018-1 20155224 《信息安全系统设计基础》第九周学习总结

    2017-2018-1 20155224 <信息安全系统设计基础>第九周学习总结 教材学习内容总结 存储器 随机访问存储器(RAM): 静态RAM:用来作为高速缓存存储器,每个位存储在一个 ...

  5. 2018-2019-1 20165206 《信息安全系统设计基础》第九周学习总结

    - 2018-2019-1 20165206 <信息安全系统设计基础>第九周学习总结 - 教材学习内容总结 计算机系统的主存被组织成一个由M个连续的字节大小的单元组成的数组.每个字节都有一 ...

  6. 20135203齐岳 信息安全系统设计基础第十三周学习总结

    20135203齐岳 信息安全系统设计基础第十三周学习总结 学习计时:8/9共小时(计划/实际) 读书:4/5 代码:1/1 作业:1/1 博客:2/2 第十二章 并发编程 一.学习目标 掌握三种并发 ...

  7. # 20155337 2017-2018-1 《信息安全系统设计基础》第一周学习总结

    20155337 2017-2018-1 <信息安全系统设计基础>第一周学习总结 教材学习内容总结 1.1信息就是位+上下文 hello.c程序是以字节序列的方式储存在文件中的.每个字节都 ...

  8. 20135219洪韶武——信息安全系统设计基础第五周学习总结

    信息安全系统设计基础第五周学习总结 学习任务:教材第四章[处理器体系结构] 学习时间:10小时  一.教材知识点梳理[4.1-4.3] 1.ISA[指令集体系结构] 一个处理器支持的指令和指令的字节级 ...

  9. 20145227《信息安全系统设计基础》第一周学习总结

    20145227<信息安全系统设计基础>第一周学习总结 学习内容总结 Linux是一个操作系统.如果使用GUI,Linux和Windows没有什么区别.Linux学习应用的一个特点是通过命 ...

  10. 2018-2019 20165203 《信息安全系统设计基础》第一周学习总结

    2018-2019-1 20165203 <信息安全系统设计基础>第一周学习总结 教材学习内容总结 编译:gcc [选项] [文件名] 选项参数表 参数 对应功能 -E 仅执行编译预处理 ...

最新文章

  1. 查mac对应ip的不同系统命令
  2. ME2N标准报表中加EKKO/EKPO中没显示的字段
  3. 【解题报告】Leecode 384. 打乱数组——Leecode每日一题系列
  4. git commit时避免填写Commit Message
  5. MybatisPlus学习(四)条件构造器Wrapper方法详解
  6. 一文搞懂 PyTorch 内部机制
  7. oracle data guard三种,Oracle Dataguard三种保护模式概述
  8. OpenGL ES 3.0学习实践
  9. 使用FreeType库从ttf字库中获取点阵字库
  10. c语言三角函数精度不够,快速三角函数算法的误差控制(sin cos)
  11. ckplayer php,ckplayer播放器
  12. 跟锦数学200217 厦门大学2019年数学分析考研试题4 (解答见跟锦数学微信公众账号)...
  13. javascript 建模_使用JavaScript进行快速数据建模
  14. 双基管理 运营_浅谈如何提升双基管理水平
  15. LeetCode 53. 最大子序和 动态规划
  16. “科林明伦杯”哈尔滨理工大学第十届程序设计竞赛 E 赛马 python
  17. ctfshow--web--信息搜集
  18. C语言人机大战之三字棋博弈
  19. C语言程序之经典习题:请编程序将“China”译成密码,密码规律是:用原来的字母后面第4个字母代替原来的字母。
  20. 微视抄袭抖音?马化腾怒怼张一鸣

热门文章

  1. 计算机一级b考试试题2016,计算机一级B考试试题及答案2016
  2. HiSecEngine USG6500E系列AI防火墙(盒式)资料分享
  3. CSS添加盒子触碰光效
  4. 高速SerDes PCB 设计
  5. MySQL 多对多条件查询
  6. 仿网易云音乐均衡器调节UI效果
  7. 对软件行业的一些看法
  8. socket请求ip遇到的问题
  9. 18个顶级人工智能平台
  10. 大学生抗击疫情感动人物最美逆行者网页设计作业 html抗疫专题网页设计 最美逆行者网页模板 致敬疫情感动人物网页设计制作