zoukankan      html  css  js  c++  java
  • Python调用C语言函数

    在C调用Python模块时需要初始化Python解释器,导入模块等

    但Python调用C模块却比较简单,ctypes模块提供了和C语言兼容的数据类型和函数来加载dll或so文件,因此在调用时不需对源文件做任何的修改

    1.编写C语言代码,可参考 https://www.cnblogs.com/zhouzhishuai/p/9529487.html demo.c 编写。

    2.接下来将C文件编译为.so文件(或windows下为dll)输入 gcc demo.c -fPIC -shared -o libdemo.so

    其中-shared代表这是动态库,-fPIC使得位置独立(如果程序本来就是独立的话会有警告,无视即可),-o指定了输出文件,改成dll后缀一样可以用。

    此时在当前目录下就生成了libhello.so 的动态链接库

    3.在Python编辑器里面输入以下代码,就可以看到控制台输出 3 了。

    import ctypes
    lib = ctypes.cdll.LoadLibrary('libdemo.so文件路径')
    res = lib.add(1,2)
    print(res)
  • 相关阅读:
    Redis Cluter
    数据库设计范式
    kvm虚拟化
    架构前端
    集群架构
    初识shell编程
    网络知识
    Linux三剑客
    Linux磁盘管理
    高性能异步爬虫
  • 原文地址:https://www.cnblogs.com/zhouzhishuai/p/9530256.html
Copyright © 2011-2022 走看看