20135328信息安全系统设计基础第二周学习总结(vim、gcc、gdb)
第三周学习笔记
学习计时:共8小时
读书:1
代码:5
作业:1
博客:7
一、学习目标
- 熟悉Linux系统下的开发环境
- 熟悉vi的基本操作
- 熟悉gcc编译器的基本原理
- 熟练使用gcc编译器的常用选项
5 .熟练使用gdb调试技术 - 熟悉makefile基本原理及语法规范
- 掌握静态库和动态库的生成
二、学习资源
教材:第一章,第七章
《嵌入式Linux应用程序开发标准教程》第三章3.1-3.5
课程资料:https://www.shiyanlou.com/courses/413 实验二,课程邀请码:W7FQKW4Y
教学视频:http://pan.baidu.com/s/1kTHxOFl ,可以参考第十个视频
三、学习方法
进度很重要:必须跟上每周的进度,阅读,练习,问答,项目。我会认真对待每一位同学,请你不要因为困难半途而废。
- 问答很重要:遇到知识难点请多多提问,这是你的权利更是您对自己负责的义务。问答到博客园讨论小组:http://group.cnblogs.com/103791/
- 实践很重要:解决书中习题,实践书中实例,完成每周项目,才算真的消化了这本好书。通过实验楼环境或自己安装的虚拟机在实践中进行学习
实验报告很重要:详细记录你完成项目任务的思路,获得老师点评和帮助自己复习。学习完成后在博客园中(http://www.cnblogs.com/)把学习过程通过博客发表,博客标题“信息安全系统设计基础第二周学习总结”
四、学习任务
(提示:请将要求学生完成的任务、测验或思考题列在此处)
1.教材第一章,第七章学习:阅读并消化教材内容(有部分考试内容)
2.《嵌入式Linux应用程序开发标准教程》第三章3.1-3.5的学习(本周大部分考试内容都从这出,特别是与教材重复内容)
3.完成实验并发Blog
练习vimtutuor 至少一遍
使用vim 输入以下代码,联系使用“K”查找帮助文档:
-
练习gcc编译运行代码。
练习gdb调试代码 。
把上述代码中除了main函数外的代码制作成一个静态库math.a和一个共享库math.so。
编写makefile,让代码编译,上述静态库和共享库的使用自动化。
五、后续学习预告(可选):
教材第二章《信息的表示和处理》
六、学习过程
本笔记次编辑使用有道云笔记录入,博客园的输入界面不友好,且在意外发生时会发生不可估计的后果
-Markdown学习地址
首先应该感谢一下Markdown这个神奇的语言,据我的了解很多同学在学习上所花的时间,或者说在消磨兴趣和耐心的过程中,往往不是因为枯燥无味的代码,而是令人蛋疼的博客园,每一张图片都要上传的感觉简直是叫一个爽字了得,不说自己做的屏幕截图,光是想把要求里的图片粘贴进来就够你忙活半天了!Markdown很好的解决了我的这个问起码解决了一半的问题,先赞。
1.vim的学习过程
-
vim键位表
-简明 Vim 练级攻略
-七个高效的文本编辑习惯(以Vim为例)(视频)
-所需即所获:像 IDE 一样使用 vim
-VIM教程与学习资料汇总
vim初步练习之后还是不太习惯,这个需要时间来练习,就像五笔,虽然五笔我也并没有学会。
2.gcc
在这里,从源文件到目标文件的转化是由编译器的驱动程序完成的:
gcc -o hello hello.c
GNU CC(简称为gcc)是GNU项目中符合ANSI C标准的编译系统,能够编译用C、C++和Object C等语言编写的程序。gcc又是一个交叉平台编译器,它能够在当前CPU平台上为多种不同体系结构的硬件平台开发软件,因此尤其适合在嵌入式领域的开发编译。
- 预处理: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
编译过程比较难记,我们简化一下,前三步,GCC的参数连起来是“ESc”,相应输入的文件的后缀是“iso”,这样记忆起来就容易多了。学习GCC的另外一个重点是:参考教材《深入理解计算机系统》 7.6,7.10节,学习静态库,动态库的制作。
这个在后面的学习中会涉及。
七、遇到的问题及解决
·vim在实验楼环境下按esc是退出全屏,并不能退到编辑模式。
·学习教程中以复制图片地址直接出现图片的形式并没有出现。
这个问题时因为-的格式中[]中没有文字提示它才会直接链接到图片
八、其他
之前的时间亏欠的太多,因为补考的缘故落了一部分的学习,这个原因让我没有按时完成任务的样子显得更可笑,但我肯定不会放弃,慢慢坚持,慢慢补旧账,成绩是一两个星期的,学到的才是自己的。
20135328信息安全系统设计基础第二周学习总结(vim、gcc、gdb)的更多相关文章
- 20135328信息安全系统设计基础第一周学习总结(Linux应用)
学习计时:共xxx小时 读书: 代码: 作业: 博客: 一.学习目标 1. 能够独立安装Linux操作系统 2. 能够熟练使用Linux系统的基本命令 3. 熟练使用Linux中用户管理命令/ ...
- LINUX信息安全系统设计基础第二周学习总结
1 Linux命令 2 man命令 1.Terminal(终端) Linux 系统还提供了一个叫做终端模拟器的程序(Terminal),下面几个比较常见的终端模拟器,例如 gnome-terminal ...
- LINUX信息安全系统设计基础第一周学习总结
Linux系统简介 一.实验内容 了解 Linux 的历史,Linux 与 Windows 的区别等入门知识. 二.实验要求 阅读linux简介与历史 三.实验步骤 二.Linux 与 Window ...
- 20135234mqy-——信息安全系统设计基础第二周学习总结
Linux基础 1.Linux命令 command [options] [arguments] //中括号代表是可选的,即有些命令不需要选项也不需要参数 选项(options)或参数(argument ...
- 20135234mqy-——信息安全系统设计基础第九周学习总结
第十章 系统级I/O 10.1 Unix I/O 一个Unix文就是一个m个字节的序列 Unix:将设备映射为文件的方式,允许Unix内核引出一个简单低级的应用接口 能够使得所有输入输出都能以一种统一 ...
- 2017-2018-1 20155239 《信息安全系统设计基础》第五周学习总结+mybash的实现
2017-2018-1 20155239 <信息安全系统设计基础>第五周学习总结+mybash的实现 mybash的实现 使用fork,exec,wait实现mybash 写出伪代码,产品 ...
- 20155216 2017-2018-1 《信息安全系统设计基础》第二周课堂练习补交以及Myod的实现
20155216 2017-2018-1 <信息安全系统设计基础>第二周课堂练习补交 课堂测试3:行断点的设置 运行截图: 未完成原因:课前未安装 cgdb 具体步骤: 1.输入命令:gc ...
- 2017-2018-1 20155307 《信息安全系统设计基础》第san周学习总结
2017-2018-1 20155307 <信息安全系统设计基础>第三周学习总结 教材学习内容总结 无符号数和有符号数的特性,数字如何表示,IEEE标准,浮点数格式.(我感觉我把课下测试做 ...
- # 2017-2018-1 20155337《信息安全系统设计基础》第5周学习总结+mybash
2017-2018-1 20155337<信息安全系统设计基础>第5周学习总结 教材学习内容总结 不论我们是在用C语言还是用JAVA或是其他的语言编程时,我们会被屏蔽了程序的机器级的实现. ...
随机推荐
- 别了,CL君
去年是我毕业的第3年,去年一年里没有上班,本打算重拾青春校园的纯粹记忆,当时想过考研.在西电租房子住了3个月后就打道回府了.回北郊后,住在毛坯房子里,一个人睡觉倒也不觉得黑,也不觉得害怕. 后来201 ...
- 如何使用GOOGLE高级搜索技巧
如何使用GOOGLE高级搜索技巧 一,GOOGLE简介 Google(www.google.com)是一个搜索引擎,由两个斯坦福大学博士生Larry Page与Sergey Brin于1998年9月发 ...
- JavaScript Patterns 3.5 JSON
JSON: JavaScript Object Notation {"name": "value", "some": [1, 2, 3]} ...
- Linux下恢复删除的文件
转自:http://github.tiankonguse.com/blog/2015/09/13/linux-remove-recovery/ 下午, DBA找我说有些SQL执行了两个小时了,导致主从 ...
- SiteMesh, SpringMVC, Shiro 配置
1. 首先在在web.xml文件中,加入SiteMesh和shiro的过滤器,保证SiteMesh的过滤器配置放在shiro的过滤器后面,不然的话,shiro的标签不能正确处理. <?xml v ...
- [转]shell脚本打印日志方法
该文章转自:http://blog.csdn.net/wylfengyujiancheng/article/details/50019299 ----------------------------- ...
- 工作中常用的Linux命令:目录
工作两三年,每天都和Linux打交道,但每每使用Linux命令的时候却会像提笔忘字般不知如何使用,常常查手册或到网上找资料.此系列文章主要是为了方便自己在使用命令时随时可查阅.鄙人才疏学浅,文中若有任 ...
- html弹窗半透明
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="C ...
- 手工创建tomcat应用,以及实现js读取本地文件内容
手工创建tomcat应用: 1.在webapps下面新建应用目录文件夹 2.在文件夹下创建或是从其他应用中复制:META-INF,WEB-INF这两个文件夹, 其中META-INF清空里面,WEB-I ...
- Jenkins学习五:更改Jenkins的主目录
工作中,由于Jenkins默认的主目录空间太小,导致需要将Jenkins默认的主目录修改到其它目录.本文针对更改Jenkins的主目录详细介绍. 注意:在Jenkins运行时是不能更改的. 请先将Je ...