信息安全系统设计基础第二周课堂实验
---恢复内容开始---
# 信息安全系统设计基础第二周课堂实验 ## 1-vi测试 本次课上因代码编译不通过导致所有实验都未能按时完成,故在此予以补做。gcc -dg -o prog main.c add.c sub.c mul.c div.c
将光标移动到printf上按shift+k进入帮助界面
2-gcc测试
使用gcc ESc
(c为小写)---iso分别对这5个文件进行预处理、编译、汇编后 使用gcc ~.o ~.o -o
随意名称对.0文件进行链接
3-gdb测试
使用gcc -g *.c -o test
创建可gdb文件test,输入gdb test
开始gdb调试,再输入 l
(小写L)显示test文件内容。
4静态库的测试
ar rcs mymath.a add.o sub.o div.o mul.o
gcc -static -o 5220 main.o ./mymath.a
5共享库
gcc -shared -fpic -o libmymath.so add.c div.c mul.c sub.c
gcc -o 5220_2 main.c ./libmymaht.so
makefile
testmymath: main.o add.o sub.o mul.o div.o
gcc main.o add.o sub.o mul.o div.o -o testmymath
main.o: main.c head.h
gcc -c main.c
add.o: add.c head.h
gcc -c add.c
mul.o: mul.c head.h
gcc -c mul.c
div.o: div.c head.h
gcc -c div.c
myod
head.h:
#define HEAD_H
#include<stdio.h>
#include<stdlib.h>
void ascii(char *name);
void sixteen(char *name);
#endif```
ascii.c:
```#include"head.h"
#include<stdio.h>
void ascii(char *name)
{
FILE *fp;
char ch;
fp=fopen(name,"r");
ch=fgetc(fp);
printf("ascii码输出为:\n");
while(ch!=EOF)
{
if(ch=='\n')
printf("\n");
else
printf("%d ",ch);
ch=fgetc(fp);
}
}```
sixteen.c:
```#include"head.h"
#include<stdio.h>
void sixteen(char *name)
{
FILE *fp;
char ch;
printf("16进制输出为:\n");
fp=fopen(name,"r");
ch=fgetc(fp);
while(ch!=EOF)
{
if(ch=='\n')
printf("\n");
else
printf("%x ",ch);
ch=fgetc(fp);
}
fclose(fp);
}```
main:
```#include"head.h"
#include<stdio.h>
void main(){
char name[50];
printf("od -tx -tc ");
scanf("%s",name);
ascii(name);
printf("\n");
sixteen(name);
}```
![](http://images2017.cnblogs.com/blog/1072272/201710/1072272-20171001172641294-1010291964.png)
j静态库
![](http://images2017.cnblogs.com/blog/1072272/201710/1072272-20171001172813981-1256291098.png)
动态库
![](http://images2017.cnblogs.com/blog/1072272/201710/1072272-20171001172905231-1838550004.png)
## [代码托管](http://git.oschina.net/bestiisjava2017/wsq20155220_javaProgramming)