linux下库文件的编程

Posted chenxu666

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux下库文件的编程相关的知识,希望对你有一定的参考价值。

首先创建 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
", var1, var2, add(var1, var2));
    printf("%d sub %d is %d
", var1, var2, sub(var1, var2));
    printf("%d mul %d is %d
", var1, var2, mul(var1, var2));
    printf("%d div %d is %d
", var1, var2, div(var1, var2));
    printf("%d mod %d is %d
", 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下库文件的编程的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段——JS中的面向对象编程

VSCode自定义代码片段9——JS中的面向对象编程

linux下库文件的编程

linux下c通过虚拟地址映射读写文件的代码

html 将以编程方式附加外部脚本文件的javascript代码片段,并按顺序排列。用于响应式网站,其中ma

你可能不知道的JavaScript代码片段和技巧(下)