第二周作业 20155210 潘滢昊
第二周作业
测试4静态库的测试
ar rcs mymath.a add.o sub.o div.o mul.o
gcc -static -o 5210 main.o ./mymath.a
./5210
截图:
测试5共享库
gcc -shared -fpic -o libmymath.so add.c div.c mul.c sub.c
gcc -o 5210_2 main.c ./libmymaht.so
./5210_2
截图:
myod
head.h:
#ifndef HEAD_H
#define HEAD_H
#include<stdio.h>
#include<stdlib.h>
void ascii(char *name);
void sixteen(char *name);
#endif
ascii.c:
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:
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:
void main(){
char name[50];
printf("od -tx -tc ");
scanf("%s",name);
ascii(name);
printf("\n");
sixteen(name);
}
截图:
动态库截图:
静态库截图:
makefile
testmymath: main.o add.o sub.o mul.o div.o
(Tab)gcc main.o add.o sub.o mul.o div.o -o testmymath
main.o: main.c head.h
(Tab)(Tab)(Tab)(Tab)gcc -c main.c
add.o: add.c head.h
(Tab)(Tab)(Tab)gcc -c add.c
sub.o: sub.c head.h
(Tab)(Tab)gcc -c sub.c
mul.o: mul.c head.h
(Tab)gcc -c mul.c
div.o: div.c head.h
(Tab)gcc -c div.c
截图: