码迷,mamicode.com
首页 > 系统相关 > 详细

linux下库文件的编程

时间:2020-03-22 15:41:32      阅读:86      评论:0      收藏:0      [点我收藏+]

标签:style   inf   std   div   stc   nbsp   lease   cal   efi   

首先创建 add.c、sub.c、mul.c、div.c、mod.c、cal.h testCal.c   Makefile

代码如下:

add.c

int add(int var1, int var2){                                                
    return var1 + var2;
}

sub.c

  int sub(int var1, int var2){                                                
   return var1 - var2;
  }

mul.c

 int mul(int var1, int var2){                                                
  return var1 * var2;
 }

div.c

int div(int var1, int var2){                                                
    if(0==var2){
   return -1;
   }else{
   return var1 / var2;
    }
  }

mod.c

 int mod(int var1, int var2){                                                
    return var1 % var2;
  } 

cal.h 

 #ifndef cal_h
 #define cal_h
 
 int add(int, int);
 int sub(int, int);
 int mul(int, int);
 int div(int, int);
 int mod(int, int);
 
 #endif

testCal.c

#include <stdio.h>

#include "cal.h"

int main(int argc, char **argv)
{
    int var1;
    int var2;
    printf("please input the var1: ");
    scanf("%d", &var1);
    printf("please input the var2: ");
    scanf("%d", &var2);
    printf("%d add %d is %d\n", var1, var2, add(var1, var2));
    printf("%d sub %d is %d\n", var1, var2, sub(var1, var2));
    printf("%d mul %d is %d\n", var1, var2, mul(var1, var2));
    printf("%d div %d is %d\n", var1, var2, div(var1, var2));
    printf("%d mod %d is %d\n", var1, var2, mod(var1, var2));               

    return 0;
}

  Makefile (在Makefile文件中,命令必须以【tab】键开始。)

OBJ=testCal.o add.o sub.o mul.o div.o mod.o
testCal:$(OBJ) cal.h
    gcc $(OBJ) -o testCal 
testCal.o:testCal.c
add.o:add.c
sub.o:sub.c
mul.o:mul.c
div.o:div.c
mod.o:mod.c


.PHONY:cleanA clean
cleanA:
    rm testCal $(OBJ)                                                       
clean:
    rm $(OBJ)

1.不是用库的方式

make 执行结果

技术图片

查看文件大小

技术图片

2.使用静态库文件,生成静态库。 创建库名为libcx.a的库

技术图片

技术图片

查看文件大小

技术图片

3.使用动态库文件,生成动态库文件。创建库名为libcx.so的库

技术图片

技术图片

查看文件大小

技术图片

 

linux下库文件的编程

标签:style   inf   std   div   stc   nbsp   lease   cal   efi   

原文地址:https://www.cnblogs.com/chenxu666/p/12546091.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!