2018-2019-1 20165212 《信息安全系统设计基础》第1周学习总结
Posted fenixren
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2018-2019-1 20165212 《信息安全系统设计基础》第1周学习总结相关的知识,希望对你有一定的参考价值。
2018-2019-1 20165212 《信息安全系统设计基础》第1周学习总结
教材内容总结
GCC编译
1.单文件
- 预处理: gcc -E hello.c -o hello.i
- 编译: gcc -S hello.i -o hello.s
- 汇编: gcc -c hello.s -o hello.o
- 链接: gcc hello.o -o hello
- 或者直接用ESC.iso
2.多模块
一起编译: gcc testa.c testb.c -o test 或者 gcc *.c -o test 分别编译各个源文件,之后对编译后输出的目标文件链接
3.-I参数
.h文件放在include中,.c文件放入src中 用于指明头文件路径*
GDB命令行界面使用技巧
- 条件断点
- 设置断点:b 5(如果要在第五行断点)
- 条件断点:b 5 if i=5
- 命令补全:TAB
- gdb常用命令:
静态库与动态库
静态库 生成:
- 生成四个.o文件 gcc -c -I/头文件所在路径 add.c sub.c mul.c div.c
- 生成静态库 ar rcvs libmath.a add.o sub.o mul.o div.o
- 调用:先后使用 gcc main.c -o main -I/头文件所在路径 -L. -lmath 和 ./main 来生成main文件并调用静态库执行文件
动态库 生成:
- 生成四个文件: gcc -fPIC -c -I/头文件所在路径 add.c sub.c mul.c div.c
- 生成动态库(共享): gcc -shared -o mymath.so add.o sub.o mul.o div.o
- 调用: gcc -I/头文件所在路径 -o main main.c -L. -lmath
MakeFile
-
创建:
- vi makefile
-
书写:
- targets : prerequisites
- 或者targets : prerequisites ; command
学习过程中遇到的问题
-
问题1:fatal error:找不到head.h
- 解决方案:在上级目录中输入 gcc src/main.c -o src/main lib/libmath.a -I include 生成main文件
-
问题2:对于计算机运行代码的原理仍存在不理解,不熟悉
-
解决方案:记主ESC、ISO,
- 预处理:gcc -E hello.c -o hello.i
- 编译:gcc -S hello.i -o hello.s
- 汇编:gcc -c hello.s -o hello.o
并多动手测试,不局限于课程中的案例。
-
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 115/115 | 1/1 | 5/5 |
以上是关于2018-2019-1 20165212 《信息安全系统设计基础》第1周学习总结的主要内容,如果未能解决你的问题,请参考以下文章