• 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
  • 相关阅读:
    UVa 116 单向TSP(多段图最短路)
    POJ 1328 Radar Installation(贪心)
    POJ 1260 Pearls
    POJ 1836 Alignment
    POJ 3267 The Cow Lexicon
    UVa 1620 懒惰的苏珊(逆序数)
    POJ 1018 Communication System(DP)
    UVa 1347 旅行
    UVa 437 巴比伦塔
    UVa 1025 城市里的间谍
  • 原文地址:https://www.cnblogs.com/5314zkj/p/5907535.html
Copyright © 2020-2023  润新知