python 调用 os库

本文介绍了如何在Python中调用C动态库,特别是使用os库来操作.so文件。文章详细讲解了dlopen、dlsym、dlclose和dlerror四个关键函数的功能和用法,提供了示例代码,并展示了C语言中调用.so文件的过程。通过这些API,开发者可以灵活地在Python中进行动态链接库的操作。
摘要由CSDN通过智能技术生成


注意:在使用c++写动态库时需要要在声明函数时前面加上extern "C" 或 extern "C"{....}方式

// 因为使用g++编译时函数名会改变,比方print_msg(const char*)
// 会编译成函数名 print_msg_char,这会导致python调用这个函数的时候
// 找不到对应的函数名,这有加了 extern "C",才会以C语言的方式进行
// 编译,这样不会改变函数名字
生成出来的so库可用nm或nm -g命令查看动态库中包含的模块 T标识表示接口函数 B表示全局变量


我们首先生成.so文件

首先, 我们写一个a.c文件

1
2
3
4
5
6
7
8
9
#include <stdio.h>
 
void  show() {
     printf ( "this is a test\n" );
}
 
int  add( int  a,  int  b) {
     return  a + b;
}

  

 然后输入命令

1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

StruggleYouth

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值