第三周学习笔记

学习计时:共8小时

读书:1

代码:5

作业:1

博客:7

一、学习目标

  1. 熟悉Linux系统下的开发环境
  2. 熟悉vi的基本操作
  3. 熟悉gcc编译器的基本原理
  4. 熟练使用gcc编译器的常用选项
    5 .熟练使用gdb调试技术
  5. 熟悉makefile基本原理及语法规范
  6. 掌握静态库和动态库的生成

二、学习资源

  1. 教材:第一章,第七章

  2. 《嵌入式Linux应用程序开发标准教程》第三章3.1-3.5

  3. 课程资料:https://www.shiyanlou.com/courses/413 实验二,课程邀请码:W7FQKW4Y

  4. Vim编辑器:https://www.shiyanlou.com/courses/2

  5. Linxu系统编程:https://www.shiyanlou.com/courses/24,实验2、3、4

  6. 教学视频:http://pan.baidu.com/s/1kTHxOFl ,可以参考第十个视频

三、学习方法

  1. 进度很重要:必须跟上每周的进度,阅读,练习,问答,项目。我会认真对待每一位同学,请你不要因为困难半途而废。

  2. 问答很重要:遇到知识难点请多多提问,这是你的权利更是您对自己负责的义务。问答到博客园讨论小组:http://group.cnblogs.com/103791/
  3. 实践很重要:解决书中习题,实践书中实例,完成每周项目,才算真的消化了这本好书。通过实验楼环境或自己安装的虚拟机在实践中进行学习
  4. 实验报告很重要:详细记录你完成项目任务的思路,获得老师点评和帮助自己复习。学习完成后在博客园中(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)的更多相关文章

  1. 20135328信息安全系统设计基础第一周学习总结(Linux应用)

    学习计时:共xxx小时 读书: 代码: 作业: 博客: 一.学习目标 1. 能够独立安装Linux操作系统   2. 能够熟练使用Linux系统的基本命令   3. 熟练使用Linux中用户管理命令/ ...

  2. LINUX信息安全系统设计基础第二周学习总结

    1 Linux命令 2 man命令 1.Terminal(终端) Linux 系统还提供了一个叫做终端模拟器的程序(Terminal),下面几个比较常见的终端模拟器,例如 gnome-terminal ...

  3. LINUX信息安全系统设计基础第一周学习总结

     Linux系统简介 一.实验内容 了解 Linux 的历史,Linux 与 Windows 的区别等入门知识. 二.实验要求 阅读linux简介与历史 三.实验步骤 二.Linux 与 Window ...

  4. 20135234mqy-——信息安全系统设计基础第二周学习总结

    Linux基础 1.Linux命令 command [options] [arguments] //中括号代表是可选的,即有些命令不需要选项也不需要参数 选项(options)或参数(argument ...

  5. 20135234mqy-——信息安全系统设计基础第九周学习总结

    第十章 系统级I/O 10.1 Unix I/O 一个Unix文就是一个m个字节的序列 Unix:将设备映射为文件的方式,允许Unix内核引出一个简单低级的应用接口 能够使得所有输入输出都能以一种统一 ...

  6. 2017-2018-1 20155239 《信息安全系统设计基础》第五周学习总结+mybash的实现

    2017-2018-1 20155239 <信息安全系统设计基础>第五周学习总结+mybash的实现 mybash的实现 使用fork,exec,wait实现mybash 写出伪代码,产品 ...

  7. 20155216 2017-2018-1 《信息安全系统设计基础》第二周课堂练习补交以及Myod的实现

    20155216 2017-2018-1 <信息安全系统设计基础>第二周课堂练习补交 课堂测试3:行断点的设置 运行截图: 未完成原因:课前未安装 cgdb 具体步骤: 1.输入命令:gc ...

  8. 2017-2018-1 20155307 《信息安全系统设计基础》第san周学习总结

    2017-2018-1 20155307 <信息安全系统设计基础>第三周学习总结 教材学习内容总结 无符号数和有符号数的特性,数字如何表示,IEEE标准,浮点数格式.(我感觉我把课下测试做 ...

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

    2017-2018-1 20155337<信息安全系统设计基础>第5周学习总结 教材学习内容总结 不论我们是在用C语言还是用JAVA或是其他的语言编程时,我们会被屏蔽了程序的机器级的实现. ...

随机推荐

  1. CentOS下安装MySQL

    首先通过网络链接的方式在线安装上mysql服务器端吧!(备注:我开始登录服务器的时候是用的其他用户而不是超级管理员,所以安装MySQL的时候需要切换到超级管理员才可以实现软件的正确安装.命令则是:su ...

  2. 集线器hub、交换机switch、路由器router 的区别

    原文链接:http://blog.csdn.net/thq0201/article/details/7782319 首先说HUB,也就是集线器.它的作用可以简单的理解为将一些机器连接起来组成一个局域网 ...

  3. mac下 home-brew安装及php,nginx环境安装及配置

    Homebrew官网 http://brew.sh/index_zh-cn.html Homebrew是神马 linux系统有个让人蛋疼的通病,软件包依赖,好在当前主流的两大发行版本都自带了解决方案, ...

  4. MCS51系列单片机实用技术部分课件

  5. redis状态查看

      https://redis.readthedocs.org/en/latest/server/slowlog.html   https://redis.readthedocs.org/en/lat ...

  6. openssl c_rehash

    一.简介 c_rehash 为文件创建一个符号连接,并将此符号连接的名称设为文件的hash值,作用是让openssl在证书目录中能够找到证书. 二.语法 c_rehash [-old] [-h] [- ...

  7. zip文件jQuery工作地点选择城市代码

    效果 地址下载:http://download.csdn.net/detail/xiaoliu123586/9201925 2.效果 源码:http://download.csdn.net/detai ...

  8. Dictionary(HashMap)的实现

    什么是哈希表? 哈希表(Hash table,也叫散列表),是根据key而直接进行访问的数据结构.也就是说,它通过把key映射到表中一个位置来访问记录,以加快查找的速度.这个映射函数叫做散列函数,存放 ...

  9. bzoj-3288 3288: Mato矩阵(数论)

    题目链接: 3288: Mato矩阵 Time Limit: 10 Sec  Memory Limit: 128 MB Description Mato同学最近正在研究一种矩阵,这种矩阵有n行n列第i ...

  10. Django项目中如何建表?怎样导入数据?

    http://django-chinese-docs.readthedocs.org/en/latest/topics/db/models.html 通常在项目中的models.py文件中建表的 Th ...