20145237 《信息安全系统设计基础》第2周学习总结

教材学习内容总结

vi的基本操作
·最基本文本编辑
1.光标移动:h:光标左移;j:光标下移;k:光标上移;l:光标右移。
2.字符编辑:将光标移动到需要修改的字符位置,x键:删除该字符;i键:在光标前添加某字符。
3.文本编辑:无论光标放在哪里,。A键:都会在末尾连续添加字符
4.退出:输入,q!:放弃所有改动;wq:保存改动。
5.删除类命令:dw:当前光标处到下一个单词开始处删除。de:当前光标到单词结束。d$:当前光标到行末。

gcc编译器的基本原理

gcc 编译流程解析:预处理、编译、汇编、链接
Linux的可执行文件并没有像 Windows 那样有明显的.exe后缀名, 只需向其分配x(可执行)权限即可 sudo chmod u+x excutefile
gcc的-E参数可以让gcc在预处理结束后停止编译过程
gcc预处理源文件的时候(第一步),不会进行语法错误的检查。语法检查会在第二步进行,比如花括号不匹配、行末尾没有分号、关键字错误等

1)预处理阶段:在该阶段,对包含的头文件(#include)和宏定义(#define、#ifdef 等)进行处理。在上述代码的预处理过 程中,编译器将包含的头文件 stdio.h 编译进来,并且用户可以使用 gcc 的选项“-E”进行查看,该选项的 作用是让 gcc 在预处理结束后停止编译过程。

gcc –E hello.c –o hello.i

选项“-o”是指目标文件,“.i”文件为已经过?处理的 C 程序。
(gcc 指令的一般格式为:gcc [选项] 要编译的文件 [选项] [目标文件] 其中,目标文件可缺省,gcc 默认生成可执行的文件,名为:编译文件.out)

2)编译阶段:接下来进行的是编译阶段,在这个阶段中,gcc 首先要检查代码的规范性、是否有语法错误等,以确定代码实际要做的工作,在检查无误后,gcc 把代码翻译成汇编语言。用户可以使用“-S”选项来进行查看, 该选项只进行编译而不进行汇编,结果生成汇编代码。

3)汇编阶段:汇编阶段是把编译阶段生成的“.s”文件转成目标文件,读者在此使用选项“-c”就可看到汇编代码已转化为“.o”的二进制目标代码了。

函数库有静态库和动态库两种。静态库是指编译链接时,将库文件的代码全部加入可执行文件中,因此生成的文件比较大,但在运行时也就不再需要库文件了。其后名通常为“.a”。动态库与之相反,在编译链接时并没有将库文件的代码加入可执行文件中,而是在程序执行时加载库,这样可以节省系统的开销。一般动态库的后?名为“.so”,如前面所述的 libc.so.6 就是动态库。gcc 在编译时默认使用动态库。 完成了链接之后,gcc 就可以生成可执行文件。





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

在编写实验楼中的程序时,我把head.h写成了head.c导致之后运行时失败,我又重建了head.h文件,程序就能成功运行了

本周代码托管截图

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 0/0 1/2 20/20
第二周 100/500 1/3 18/38

转载于:https://www.cnblogs.com/20145237fhn/p/5907273.html

20145237 《信息安全系统设计基础》第2周学习总结相关推荐

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    2018-2019-1 20165221 <信息安全系统设计基础>第一周学习总结 教材学习总结 有关vim 打开方式:vim [文件名] 按i会进入insert模式,可以对代码进行编辑 按 ...

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

    2017-2018-1 20155209 <信息安全系统设计基础>第一周学习总结 教材学习内容总结 计算机系统就是由可以看到的硬件和系统内的软件组成的,然后用来运行应用程序. 我们平时使用 ...

  10. 20145307《信息安全系统设计基础》第二周学习总结

    20145307<信息安全系统设计基础>第二周学习总结 教材学习内容总结 vim编辑器 Vim的6种基本模式:Vim具有6种基本模式和5种派生模式普通模式(Normal mode) Vim ...

最新文章

  1. cytoscape绘图互作网络图(二)
  2. (转) Twisted :第二十一部分 惰性不是迟缓: Twisted和Haskell
  3. 查看Eclipse版本
  4. Python 调用有道翻译api接口翻译外文网站的整篇西班牙文实战演示
  5. STM32’s I2C 硬件BUG引发的血案
  6. 自学机器学习、深度学习、人工智能的学习资源集合
  7. ACM成长之路(干货) 我爱ACM,与君共勉
  8. 计算机简单故障时的排除方法,电脑简单故障排除解决办法大全
  9. matlab6.1实用指南,MATLAB 6.1实用指南
  10. tomcat websock html5,websocket实战(4) websocket版贪食蛇游戏(tomcat官方自带)
  11. Google Code Review 如何编写代码评论
  12. [noip2013]货车运输
  13. AutoJs学习-QQ批量加好友
  14. 计算机一级考试试题在线操作,计算机一级考试题库操作题
  15. 使用奇东锐腾PXE网克工具进行批量装机和系统恢复
  16. 缓解疲劳、舒缓全身放松,游养乐分享养生小秘籍
  17. 学生信息管理系统之查:查询成绩信息流程
  18. 【阅读笔记】《ParseNet: Looking Wider to See Better》
  19. sql月度分组_SQL语句按年 月 日 季度分组
  20. 智能电视看凤凰卫视,不用直播源

热门文章

  1. ROS: Ubuntu16.04安装ROS-kinetic
  2. redis缓存实现原理php,分析redis原理及实现
  3. pyinstaller的使用方法 by 王大龙
  4. shell批量创建随机文件名格式文件
  5. hbase删除表失败的解决方法
  6. 读《构建之法》13--17章有感
  7. 移动WebApp开发-phoneGap+android入门
  8. 将在本地创建的Git仓库push到Git@OSC
  9. YFIOServer 后台IO接口使用说明
  10. 到底什么是rest客户端