zoukankan      html  css  js  c++  java
  • # 20145305 《信息安全系统设计基础》第2周学习总结

    教材学习内容总结

    一、VIM
    1.vi有三种模式:命令行模式、插入模式、底行模式。
    a)vim教程:
    d 删除操作符;-w 单词(如:dw 从光标出删除至下一个单词末尾(不含第一个字符))。
    b)移动光标:
    [[ 转到上一个位于第一列的"{"
    ]] 转到下一个位于第一列的"{"
    { 转到上一个空行
    } 转到下一个空行
    % 匹配括号移动
    c)进行快速调整缩进操作(普通模式下输入)
    进入命令行模式下对shiftwidth值进行设置可以控制缩进和回退的字符数
    d)调整文本位置
    :ce(center)命令使本行内容居中;
    :ri(right)命令使本行文本靠右;
    :le(left)命令使本行内容靠左;
    e)视窗操作
    Ctrl+w <某些字母> 调整视窗
    f)文档加密
    $vim -x file(创建加密文档)
    g)在vim执行外部命令
    ! 可执行外部的shell部分
    h)帮助系统
    普通模式下按F1打开vim自己预设的帮助文档
    命令行模式下输入:h shiftwidth 打开名为shiftwidth的帮助文件
    命令行模式下输入:ver 显示版本及参数
    i)功能设定
    1.vim的功能设定
    命令行模式下输入:set nu(显示行数),设定值退出vim后不会保存。
    vim的配置文件~/.vimrc,打开文件进行修改。(要永久保存配置需要修改vim配置文件。)
    2.获取目前的设定(命令行模式下输入)
    :set或者:se显示所有修改过的配置
    :set all 显示所有的设定值
    :set option? 显示option的设定值
    :set nooption 取消当期设定值
    3.set功能的说明(命令行模式下输入)
    :set autoindent(ai) 设置自动缩进
    :set autowrite(aw) 设置自动存档,默认未打开
    :set background=dark或light,设置背景风格
    :set backup(bk) 设置自动备份,默认未打开
    : set cindent(cin) 设置C语言风格缩进
    二、GCC
    1.预处理: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
    注意:编译时要加“-g”参数(参数连起来是“ESc”,相应输入的文件的后缀是“iso”)
    2.gcc预处理源文件的时候(第一步),不会进行语法错误的检查,语法检查会在第二步进行。
    3.gcc hello.c -o hello--- 第二个hello为文件名。
    4.大致流程:首先gcc会调用预处理程序cpp,由它负责展开在源程序中定义的宏.hello.i这是一个经过预处理器处理之后的C源文件——>将hello.i编译为目标代码,gcc默认将.i文件看成是预处理后的C语言源代码---->gcc连接器将目标文件链接为一个可执行文件。
    三、GDB
    1.启动gdb的方法有以下几种:
    a)gdb program也就是执行文件,一般在当前目录下。
    b)gdb core 用gdb同时调试一个运行程序和core文件,core是程序非法执行后,core dump后产生的文件。
    c)gdb 如果程序是一个服务程序,那么可以指定这个服务程序运行时的进程ID。
    2.设置断点
    (gdb) break func <-------------------- 设置断点,在函数func()入口处。
    (gdb) info break <-------------------- 查看断点信息。
    (gdb) r <--------------------- 运行程序,run命令简写
    (gdb) n <--------------------- 单条语句执行,next命令简写。
    (gdb) c <--------------------- 继续运行程序,continue命令简写。
    (gdb) p I <--------------------- 打印变量i的值,print命令简写。
    (gdb) bt <--------------------- 查看函数堆栈。
    (gdb) finish <--------------------- 退出函数。
    (gdb) c <--------------------- 继续运行。
    (gdb) q <--------------------- 退出gdb。
    3.其他调试命令有:
    display 跟踪变量值的改变
    until 跳出循环
    finish 跳出函数
    help 帮助
    四、make工程管理器
    1.一个Makefile文件主要含有一系列的规则,每条规则包含一下内容:
    一个目标,即make最终需要创建的文件,如可执行文件和目标文件;目标也可以是要执行的动作,如‘clean’;
    一个或多个依赖文件的列表,通常是编译目标文件所需要的其他文件。
    之后的一系列命令,是make执行的动作,通常是把指定的相关文件编译成目标文件的编译命令,每个命令占一行,并以tab开头 执行以上Makefile后就会自动化编译。
    2.Makefile还可以定义和使用宏(也称做变量):
    定义宏的格式为:macroname = macrotext
    使用宏的格式为:$(macroname)
    3.Makefile的一般写法:
    test(目标文件): prog.o code.o(依赖文件列表)
    tab(至少一个tab的位置) gcc prog.o code.o -o test(命令)

    《嵌入式Linux应用程序开发标准教程》第三章3.1-3.5重点总结

    视频资料中的总结

    学习过程重点的记录

    学习中的问题和解决过程

    刚开始安装的时候,运行程序更新时出现报错:
    无法获得锁 /var/lib/dpkg/lock - open (11: 资源临时不可用)
    解决:
    其实这是因为有另外一个程序在运行,导致锁不可用。原因可能是上次运行更新或安装没有正常完成。解决办法是杀死此进程
    sudo rm /var/cache/apt/archives/lock
    sudo rm /var/lib/dpkg/lock

    还有就是配置GIT的时候出现问题,解决方法如图

    本周代码托管截图

    其他(感悟、思考等,可选)

    本周的东西太多,忘了还有什么要补充。

    学习进度条

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

    参考资料

  • 相关阅读:
    LeetCode OJ String to Integer (atoi) 字符串转数字
    HDU 1005 Number Sequence(AC代码)
    HDU 1004 Let the Balloon Rise(AC代码)
    HDU 1003 Max Sum(AC代码)
    012 Integer to Roman 整数转换成罗马数字
    011 Container With Most Water 盛最多水的容器
    010 Regular Expression Matching 正则表达式匹配
    007 Reverse Integer 旋转整数
    006 ZigZag Conversion
    005 Longest Palindromic Substring 最长回文子串
  • 原文地址:https://www.cnblogs.com/summerharper/p/5901833.html
Copyright © 2011-2022 走看看