• 20145314郑凯杰《信息安全系统设计基础》第2周学习总结


    20145314郑凯杰《信息安全系统设计基础》第2周学习总结

    教材学习内容总结

    实验二 GCC的使用

    GCC编译的四个步骤:

    1. 预处理(gcc -E):gcc –E hello.c –o hello.i;gcc –E调用cpp
    2. 编译(gcc -S):gcc –S hello.i –o hello.s;gcc –S调用ccl
    3. 汇编(gcc -c):gcc –c hello.s –o hello.o;gcc -c 调用as
    4. 链接:gcc hello.o –o hello ;gcc -o 调用ld

    最终成为:可执行文件

    gcc 选项可以简记为“ESc”,相应的产出文件的后缀可以简记为“iso”

    1. .c C语言源文件
    2. .C .cc .cxx C++源文件
    3. .m Object-C源文件
    4. .i 经过预处理后的C源文件
    5. .ii 经过预处理后的C++源文件
    6. .s .S 汇编语言源文件
    7. .h 预处理文件(头文件)
    8. .o 目标文件
    9. .a 存档文件

    图1:

    实验三 GDB使用

    使用gdb进行调试:gcc –g XXX.c –o XXX后
    输入gdb XXX 即可进行调试;

    1. l——查看源代码;
    2. break 行数——设置断点;
    3. info break——查看断点信息;
    4. p 变量——打印变量值;
    5. bt——查看堆栈;
    6. c—继续执行;
    7. q——退出;
    8. n——不进入函数调试;
    9. s——进入函数调试;
    10. help [command]可以进行命令查找;
    11. delete [断点号]——删除所有断点;
    12. b 函数名——设置函数断点(函数不执行);
    13. b 行号或者函数 if 表达式 (条件断点)

    实验四 Makefile使用

    Makefile基本写法:test(目标文件): prog.o code.o(依赖文件列表)

    tab(至少一个tab的位置) gcc prog.o code.o -o test(命令)

    使用宏的Makefile:定义宏宏名=原变量

    使用宏的格式(宏名)

    教材第一章

    • 高速缓存可以被用来提高程序性能;存储器层次结构的主要思想是上一层作为第一次存储器的高速缓存。
    • 操作系统进行硬件管理,为程序服务。
    • 进程是操作系统对一个正在运行的程序的一种抽象。
    • 一个进程可以有很多线程
    • 虚拟存储器(汇编里面的存储器)
    • 系统是硬件和系统软件相互交织的集合体

    理解信息就是位+上下文

    查看源文件可以用od 命令 : od -tc -tx1 hello.c

    冯式结构,理解p6 CPU执行指令的操作(加载、存储、操作、跳转)

    存储系统的核心思想:缓存

    操作系统核心抽象(文件、虚存、进程、虚拟机)

    见图2:

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时
    第一周 0/50 1/2 20/20
    第二周 176/600 2/4 38/38
    第三周 /1100 /7 /60
    第四周 /1350 /9 /90
  • 相关阅读:
    HTML链接/实施CSS的三种方法
    XML之Well-Formed文档规则
    【摘】SVN提交与版本冲突
    Web开发之404小结
    TCP 连接的要点
    [转] Epoll 相对Poll和Select的优点
    [转] 剖析 epoll ET/LT 触发方式的性能差异误解(定性分析)
    GDB调试技巧
    [转] 关于c++的头文件依赖
    [转] Linux中gcc,g++常用编译选项
  • 原文地址:https://www.cnblogs.com/5314zkj/p/5907535.html
Copyright © 2020-2023  润新知