2019-2020-1 20175227 《信息安全系统设计基础》第三周学习总结
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 调用ldGDB
- 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解决方案:不需要注意警告信息,不会影响编译结果
代码托管
上周考试错题总结
无
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 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 《信息安全系统设计基础》第三周学习总结相关推荐
- 信息安全系统设计基础第三周学习总结
信息的表示和处理 一.gcc 编译 使用C99特性时 gcc -std=c99 xxx.c 实验楼环境为64位,编译为32位机器码: gcc -m32 xxx.c 二. 教材导读 三种数字: 无符号( ...
- 信息安全系统设计基础第三周学习总结—20135227黄晓妍
一.Vim编辑器 1.Vim的六种模式 2.Vim三种常用模式的使用方式,以及三者的切换.打开Vim即默认进入普通模式,按i进入插入模式,按esc从插入模式退出普通模式,再按:进入命令行模式. 普通模 ...
- 2019-2020-1 20175227 《信息安全系统设计基础》第二周学习总结
2019-2020-1 20175227 <信息安全系统设计基础>第二周学习总结 教材学习内容总结 二进制在计算机中的重要地位 二进制是计算技术中广泛采用的一种数制.二进制数据是用0和1两 ...
- # 2017-2018-1 20155224 《信息安全系统设计基础》第九周学习总结
2017-2018-1 20155224 <信息安全系统设计基础>第九周学习总结 教材学习内容总结 存储器 随机访问存储器(RAM): 静态RAM:用来作为高速缓存存储器,每个位存储在一个 ...
- 2018-2019-1 20165206 《信息安全系统设计基础》第九周学习总结
- 2018-2019-1 20165206 <信息安全系统设计基础>第九周学习总结 - 教材学习内容总结 计算机系统的主存被组织成一个由M个连续的字节大小的单元组成的数组.每个字节都有一 ...
- 20135203齐岳 信息安全系统设计基础第十三周学习总结
20135203齐岳 信息安全系统设计基础第十三周学习总结 学习计时:8/9共小时(计划/实际) 读书:4/5 代码:1/1 作业:1/1 博客:2/2 第十二章 并发编程 一.学习目标 掌握三种并发 ...
- # 20155337 2017-2018-1 《信息安全系统设计基础》第一周学习总结
20155337 2017-2018-1 <信息安全系统设计基础>第一周学习总结 教材学习内容总结 1.1信息就是位+上下文 hello.c程序是以字节序列的方式储存在文件中的.每个字节都 ...
- 20135219洪韶武——信息安全系统设计基础第五周学习总结
信息安全系统设计基础第五周学习总结 学习任务:教材第四章[处理器体系结构] 学习时间:10小时 一.教材知识点梳理[4.1-4.3] 1.ISA[指令集体系结构] 一个处理器支持的指令和指令的字节级 ...
- 20145227《信息安全系统设计基础》第一周学习总结
20145227<信息安全系统设计基础>第一周学习总结 学习内容总结 Linux是一个操作系统.如果使用GUI,Linux和Windows没有什么区别.Linux学习应用的一个特点是通过命 ...
- 2018-2019 20165203 《信息安全系统设计基础》第一周学习总结
2018-2019-1 20165203 <信息安全系统设计基础>第一周学习总结 教材学习内容总结 编译:gcc [选项] [文件名] 选项参数表 参数 对应功能 -E 仅执行编译预处理 ...
最新文章
- 查mac对应ip的不同系统命令
- ME2N标准报表中加EKKO/EKPO中没显示的字段
- 【解题报告】Leecode 384. 打乱数组——Leecode每日一题系列
- git commit时避免填写Commit Message
- MybatisPlus学习(四)条件构造器Wrapper方法详解
- 一文搞懂 PyTorch 内部机制
- oracle data guard三种,Oracle Dataguard三种保护模式概述
- OpenGL ES 3.0学习实践
- 使用FreeType库从ttf字库中获取点阵字库
- c语言三角函数精度不够,快速三角函数算法的误差控制(sin cos)
- ckplayer php,ckplayer播放器
- 跟锦数学200217 厦门大学2019年数学分析考研试题4 (解答见跟锦数学微信公众账号)...
- javascript 建模_使用JavaScript进行快速数据建模
- 双基管理 运营_浅谈如何提升双基管理水平
- LeetCode 53. 最大子序和 动态规划
- “科林明伦杯”哈尔滨理工大学第十届程序设计竞赛 E	赛马 python
- ctfshow--web--信息搜集
- C语言人机大战之三字棋博弈
- C语言程序之经典习题:请编程序将“China”译成密码,密码规律是:用原来的字母后面第4个字母代替原来的字母。
- 微视抄袭抖音?马化腾怒怼张一鸣