广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C语言程序怎么调用Python函数
  • 230
分享到

C语言程序怎么调用Python函数

2023-06-17 16:06:07 230人浏览 泡泡鱼
摘要

本篇文章为大家展示了C语言程序怎么调用python函数,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Python脚本,存为pytest.pydef add(a,b):  

本篇文章为大家展示了C语言程序怎么调用python函数,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

Python脚本,存为pytest.py

def add(a,b):  print "in python function add"  print "a = " + str(a)  print "b = " + str(b)  print "ret = " + str(a+b)  return a + b

C调用Python函数的代码示例:

#include < stdio.h> #include < stdlib.h> #include "C:/Python26/include/python.h"  #pragma comment(lib, "C:\\Python26\\libs\\python26.lib")  int main(int arGC, char** argv)  {  // 初始化Python  //在使用Python系统前,必须使用Py_Initialize对其  //进行初始化。它会载入Python的内建模块并添加系统路  //径到模块搜索路径中。这个函数没有返回值,检查系统  //是否初始化成功需要使用Py_IsInitialized。  PyObject *pName, *pModule, *pDict, *pFunc, *pArgs, *pRetVal;  Py_Initialize();  // 检查初始化是否成功  if ( !Py_IsInitialized() )   {  return -1;  }  // 载入名为pytest的脚本(注意:不是pytest.py)  pName = PyString_FromString("pytest");  pModule = PyImport_Import(pName);  if ( !pModule )  {  printf("can't find pytest.py");  getchar();  return -1;  }  pDict = PyModule_GetDict(pModule);  if ( !pDict )   {  return -1;  }  // 找出函数名为add的函数  pFunc = PyDict_GetItemString(pDict, "add");  if ( !pFunc || !PyCallable_Check(pFunc) )  {  printf("can't find function [add]");  getchar();  return -1;  }  // 参数进栈  pArgs = PyTuple_New(2);  // PyObject* Py_BuildValue(char *fORMat, ...)  // 把c++的变量转换成一个Python对象。当需要从  // C++传递变量到Python时,就会使用这个函数。此函数  // 有点类似C的printf,但格式不同。常用的格式有  // s 表示字符串,  // i 表示整型变量,  // f 表示浮点数,  // O 表示一个Python对象。  PyTuple_SetItem(pArgs, 0, Py_BuildValue("l",3));   PyTuple_SetItem(pArgs, 1, Py_BuildValue("l",4));  // 调用Python函数  pRetVal = PyObject_CallObject(pFunc, pArgs);  printf("function return value : %ld\r\n", PyInt_AsLong(pRetVal));  Py_DECREF(pName);  Py_DECREF(pArgs);  Py_DECREF(pModule);  Py_DECREF(pRetVal);  // 关闭Python  Py_Finalize();  return 0;  }  //一下为个人实践的另一套方法  #include < Python.h> #include < coNIO.h> int main()  {  Py_Initialize();  if (!Py_IsInitialized())  {  printf("初始化错误\n");  return -1;  }  PyObject* pModule = NULL;  PyObject* pFunc = NULL;  PyObject* pArg = NULL;  PyObject* pRetVal = NULL;  pModule = PyImport_ImportModule("hello");  pFunc = PyObject_GetAttrString(pModule,"hello");  pArg = Py_BuildValue("(i,i)",33,44);  pRetVal = PyObject_CallObject(pFunc,pArg);  printf("%d\n",PyInt_AsLong(pRetVal));  Py_Finalize();  _getch();  return 0;  }

上述内容就是C语言程序怎么调用Python函数,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程网其他教程频道。

--结束END--

本文标题: C语言程序怎么调用Python函数

本文链接: https://www.lsjlt.com/news/290621.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C语言程序怎么调用Python函数
    本篇文章为大家展示了C语言程序怎么调用Python函数,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Python脚本,存为pytest.pydef add(a,b):  ...
    99+
    2023-06-17
  • c语言怎么调用sort函数排序
    在C语言中,可以使用stdlib.h头文件中的qsort函数来进行排序操作。qsort函数的原型如下:```cvoid qsort(...
    99+
    2023-10-08
    c语言
  • c语言怎么调用python函数返回值
    在c语言中调用python函数返回值,具体方法如下:void test1() { Py_Initialize();//初始化python getcurrent(); PyObject *pModule = NULL, *pFunc = NU...
    99+
    2022-10-14
  • c语言socket函数怎么调用
    在C语言中,我们可以使用头文件和来调用socket函数。首先需要创建一个socket,使用socket函数来创建一个套接字。函数原型...
    99+
    2023-10-12
    c语言
  • c语言函数system怎么调用
    在C语言中,可以使用`system()`函数来调用系统命令。`system()`函数的原型如下:```cint system(con...
    99+
    2023-10-11
    c语言
  • c语言wait函数怎么调用
    在C语言中,可以使用wait()函数来等待子进程的结束。以下是wait()函数的调用方法:c#include <sys/typ...
    99+
    2023-10-23
    c语言
  • c语言fact函数怎么调用
    在C语言中,可以通过以下方式调用fact函数:1. 在另一个函数中调用fact函数:```c#include // 声明fact函数...
    99+
    2023-08-08
    c语言 fact
  • c语言主程序怎么调用子程序
    在C语言中,主程序可以通过函数调用的方式来调用子程序。以下是一个简单的示例:```c#include // 声明子程序void su...
    99+
    2023-10-12
    c语言
  • c语言中seek函数怎么调用
    在C语言中,seek函数用于设置文件指针的位置。其调用方式如下:```c#include int fseek(FILE *strea...
    99+
    2023-09-14
    c语言
  • c语言怎么调用自定义函数
    要调用自定义函数,可以按照以下步骤进行:1. 在调用自定义函数之前,需要先进行函数的声明。函数声明一般写在程序的开头部分,表示该函数...
    99+
    2023-09-15
    c语言
  • C语言的回调函数怎么使用
    本篇内容主要讲解“C语言的回调函数怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C语言的回调函数怎么使用”吧!对指针的应用是C语言编程的精髓所在,而回调函数就是C语言里面对函数指针的高级...
    99+
    2023-06-17
  • 怎么在PHP中调用C语言函数
    怎么在PHP中调用C语言函数?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。// 创建一个 FFI 对象,加载 libc 并...
    99+
    2023-06-14
  • c语言怎么调用linux内核函数
    要在C语言中调用Linux内核函数,您需要使用系统调用接口。系统调用是Linux内核提供给用户空间程序访问内核功能的接口。 下面是一...
    99+
    2023-10-24
    c语言 linux
  • c语言callback回调函数怎么使用
    在C语言中,回调函数(callback)是一种函数指针,可以作为参数传递给其他函数,这样在调用该函数时,可以执行传递的回调函数。下面...
    99+
    2023-10-18
    c语言
  • C语言函数的递归怎么调用
    这篇文章主要讲解了“C语言函数的递归怎么调用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C语言函数的递归怎么调用”吧!一、什么是递归程序调用自身的编程技巧称为递归( recursion) ...
    99+
    2023-06-30
  • c语言怎么调用函数判断素数
    可以封装一个函数来判断一个数是否为素数,然后在主函数中调用这个函数来判断。以下是一个示例代码:```c#include int is...
    99+
    2023-10-12
    c语言
  • 如何调用c语言函数
    如何调用c语言函数?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。C语言是什么C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发,使用C语言可以以简易的方式...
    99+
    2023-06-15
  • c语言如何调用函数
    C语言中可以通过函数名和参数列表来调用函数。例如,假设有一个名为`add`的函数,接受两个整数作为参数,并返回它们的和。调用函数的一...
    99+
    2023-09-04
    c语言
  • c语言中的回调函数怎么使用
    这篇文章主要讲解了“c语言中的回调函数怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“c语言中的回调函数怎么使用”吧!一、通过这节课程你能掌握以下知识...
    99+
    2022-10-19
  • C语言中程序如何调用Python脚本
    目录一、环境配置0x00 平台0x01 添加 包含目录 和 库目录0x02 添加依赖项二、案例三、常用API有时候在写C语言程序的时候又想利用一下pyt...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作