第二周作业 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码输出为:
");
    while(ch!=EOF)
    {
        if(ch=='
') 
            printf("
");
        else 
            printf("%d ",ch);
        ch=fgetc(fp);
    }
}

sixteen.c:

void sixteen(char *name)
{
    FILE *fp;
    char ch;
    printf("16进制输出为:
");
    fp=fopen(name,"r");
    ch=fgetc(fp);
    while(ch!=EOF)
    {
        if(ch=='
') 
            printf("
");
        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("
");
    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

截图:

代码托管

原文地址:https://www.cnblogs.com/panyinghao/p/7611637.html