linux so 测试,Linux下测试使用lib.so

-I.       #大写i 头文件目录/位置[.h] #include<...> 或者 #include"..."  若在同一目录下,<>必须有此项,""可以无此项   eg:   -I./inc   -I.

-L.    #动态库lib.so目录/位置[.dll]  eg:  -L./lib     -L.

-l     #小写的L用到的动态库  eg:生成的文件名为libname.so  使用 -lname

***********************************

源文件

myso.h

#ifndef _MYSO_H

#define _MYSO_H

extern int add(int,int);

extern int dec(int ,int);

extern int axb(int,int);

#endif

add.c

#include"myso.h"

int add(int x,int y)

{

return (x+y);

}

dec.c

#include"myso.h"

int dec(int x,int y)

{

return (x-y);

}

axb.c

#include"myso.h"

int axb(int x,int y)

{

return (x*y);

}

shell批处理脚本

#!/bin/bash

gcc add.c dec.c axb.c -fPIC -shared -o libmy.so

***********************************

使用改动态库

compile:  gcc fur.c -I. -L. -lmy  -o XJY

run1:          ./XJY

run2:           XJY

fur.c

#include

#include

int main()

{

printf("1+2=%d 2-3=%d 5*6=%d\n",add(1,2),dec(2,3),axb(5,6));

return 0;

}

***********************************

compile: gcc fur.c -L.  -lmy  -o XJY

run1:         ./XJY

run2:        XJY

fur.c

#include

#include"myso.h"

int main()

{

printf("1+2=%d 2-3=%d 5*6=%d\n",add(1,2),dec(2,3),axb(5,6));

return 0;

}

***********************************

compile: gcc fur.c   -L.  -lmy  -o XJY

run1:         ./XJY

run2:        XJY

#include

int main()

{

printf("1+2=%d 2-3=%d 5*6=%d\n",add(1,2),dec(2,3),axb(5,6));

return 0;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值