2018-2019-1 20165303 《信息安全系统设计基础》第一周学习总结
- 测试1 0. 每个.c一个文件,每个.h一个文件,文件名中最好有自己的学号
- 用Vi输入图中代码,并用gcc编译通过
- 在Vi中使用K查找printf的帮助文档
- 提交vi编辑过程截图,要全屏,包含自己的学号信息
把代码推送到代码托管平台**
- 测试2 1. 用gcc 进行预处理,编译,汇编,链接vi输入的代码
- 生成的可执行文件中要有自己的学号
- 提交预处理,编译,汇编,链接,运行过程截图,要全屏,包含自己的学号信息
代码推送到代码托管平台**
- 测试3
- 用gcc -g编译vi输入的代码
- 在main函数中设置一个行断点
- 在main函数增加一个空循环,循环次数为自己学号后4位,设置一个约为学号一半的条件断点
- 提交调试过程截图(一定包含条件断点的),要全屏,包含自己的学号信息
把代码推送到代码托管平台**
- 测试4
- 除了main.c外,其他4个模块(add.c sub.c mul.c div.c)的源代码不想给别人,如何制作一个mymath.a静态库?main.c如何使用mymath.a?
- 提交静态库生成和调用过程截图(一定包含条件断点的),要全屏,包含自己的学号信息
把代码推送到代码托管平台**
- 测试5
- 除了main.c外,其他4个模块(add.c sub.c mul.c div.c)的源代码不想给别人,如何制作一个mymath.so共享库?main.c如何使用mymath.so?
- 提交共享库生成和调用过程截图(一定包含条件断点的),要全屏,包含自己的学号信息
把代码推送到代码托管平台**
- 测试6
1 写出编译上面vi编辑代码的makefile,编译出来的目标文件为testmymath, 只用显式规则就可以.
2 提交Make过程截图,要全屏,包含自己的学号信息
把Makefile推送到代码托管平台**
- 问题,编译系统是如何进行工作的,计算机系统的组成还是不太明白
- 学习笔记
vim filename:打开文件,若不存在则新建
vim filename +n:打开文件,定位到第n行
vim filename +:打开文件,定位到末尾
esc:切换到正常模式
shift+zz:保存退出
gg:定位到首行
G:定位到尾行
ngg:定位到第n行
^:定位到行首
$:定位到行尾
yy:复制光标所在行
p:粘贴
nyy:复制光标开始的n行
dd:删除光标所在行,(或者剪切,按p复制)
ndd:删除光标开始的n行
u:撤销操作
ctrl+r:反撤销操作
i:在光标处插入
I:在行首插入
a:在光标下一个字符处插入
A:在行尾插入
o:在光标下一行插入空行
O:在光标上一行插入空行
s:删除光标所在字符并插入
S:删除光标所在行并插入
预处理:gcc -E hello.c -o hello.i
编译:gcc -S hello.i -o hello.s
汇编:gcc -c hello.s -o hello.o
码云链接https://gitee.com/weiyu03/jsjxt