博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux 下C调用Python 模块
阅读量:2397 次
发布时间:2019-05-10

本文共 692 字,大约阅读时间需要 2 分钟。

最近做一个移植项目, 用到C调用Python, 在网上搜了好多资料,但是发现按照上面介绍的一步一步来, 根本行不通,最后还是根据系统报出的错误,进行调试才成功, 所以感觉很有必要做下记录。
      下面以main.c 调用 hellWorld.py 函数为例进行说明。
       helloWorld.py 的内容很简单只是定义了hello函数然后输出“Hello World”
main.c 函数也比较简单,主要是初始化python,以及导入python的模块等
里面的Python_Initialize()主要是初始化python解释器。
      Py_SimpleString("import sys")相当于在python中的import sys语句。
      Py_SimpleString("sys.path.append('./')")是将搜索路径设置为当前目录。
      Py_ImportModule("helloWorld")是利用导入文件函数将helloWorld.py函数导入。
      PyObject_GetAttrString(pModule, "hello")是在pyton引用模块helloWorld.py中查找hello函数。
接着调用PyEval_CallObject(pFunc, NULL)调用hello函数。
      最后是清理python环境释放资源。
     在写好了helloWorld.py和main.c函数后就得写Makefile函数了,Makefile函数代码如下:
     
     
     
make后生成main,./main运行结果:
    
    
     
结果打印出了helloWorld.py中的数据, 说明C调用Python成功!

转载地址:http://nwfob.baihongyu.com/

你可能感兴趣的文章
Makefile中.PHONY的含义
查看>>
韦东山视频实验之Input子系统分析之一
查看>>
韦东山视频实验之Input子系统分析之二
查看>>
韦东山视频实验之触摸屏
查看>>
dma_alloc_writecombine
查看>>
韦东山视频之LCD驱动(Mini2440 X35)
查看>>
韦东山视频实验之USB鼠标驱动
查看>>
韦东山视频实验之USB鼠标驱动—OOPS错误分析
查看>>
python异常处理
查看>>
python创建字典
查看>>
python列表元组的操作
查看>>
python基础之元组、文件操作、编码、函数、变量
查看>>
两个路径下的iptables的区别
查看>>
wsgi.py的详解
查看>>
python中setting.py详解
查看>>
python的__init__.py
查看>>
最新pycharm破解(亲试有效)
查看>>
python中的变量怎样开辟内存
查看>>
tomcat端口号直接跳转到项目首页
查看>>
maven入门
查看>>