linux使用so文件,linux中创建so文件和使用so文件简单模版

so模版:

头文件showmessage.h

#include

void say(char *str);

cpp文件showmessage.c

#include "showmessage.h"

void say(char *str)

{

printf("this is in so-file, but is from test_so app\n", str);

}

测试文件:

#include

#include

#include

void main(void)

{

void *dp;

char *error;

void (*say)(char *);

puts("so文件应用示范");

dp = dlopen("./libmy.so", RTLD_LAZY); /*打开动态链接库*/

if(dp == NULL)

{

fputs(dlerror(), stderr);

exit(1);

}

say = dlsym(dp, "say");

error = dlerror();

if(dp == NULL)

{

fputs(dlerror(), stderr);

exit(1);

}

say("hello world");

dlclose(dp);

}

so和测试so的Makefile文件:

all:test_so libmy.so

libmy.so:

gcc -s -shared -o libmy.so showmessage.c编译成为so文件的关键

test_so:

gcc testso.c -o test_so -L ./ -ldl可以找到相应的so文件的关键clean:  rm libmy.so test_so

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值