Linux/Unix下Python代码调用C/C++共享库

Linux/Unix下的共享库扩展名为.so文件,和Windows的*.dll文件类似。共享库中一般包含通用的函数和类。当需要使用共享库中的功能时,它会被系统加载到内存中,它只会被加载一次。

对于加载到内存的共享库一般会有一个引用计数,用来跟踪有多少应用在使用这个共享库。当一个共享库的引用计数为0时,表示已经没有程序使用这个共享库了,操作系统会释放这个共享库占用的内存。

为了容易理解,我们用C/C++创建一个简单的共享库。然后在Python代码中调用共享库里的函数。

testLib.cpp:

把上面代码编译为共享库:

-Wall:输出所有警告信息。
-shared:指示编译为共享库。
-O:打开优化。
-o:指定输出文件名。

生成testLib.so

sharelib

现在创建Python代码:

test.py:

执行python脚本:

sharelibres

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注