与相互交互调用实例解析的

制冷设备2021年09月06日

PYTHON 与C相互交互调用实例解析

使用前工具:

Vc++编译器

Python 解释器

如没有装VC,可以去微软站下一个C++的编译器,地址如下:

装完后,在环境变量中把PYTHON的INCLUDE和LIBS分别加入下面2个宏

INCLUDE

证监会发言人张晓军13日表示 LIB

1、C中调用PYTHON

#include Python.h

int main(int argc, char *argv[])

{

Py_Initialize();

PyRun_SimpleString(\"from time import time,ctime\\n\"

\"print \'Today is\',ctime(time())\\n\");

Py_Finalize();

return 0;

}

直接用CL 文件名 编译就是

2、用C生成DLL,用PYTHON调用

C代码:如FOO.C

#include Python.h

/* Define the method table. */

static PyObject *foo_bar(PyObject *self, PyObject *args);

static PyMethodDef FooMethods[] = {

{\"bar\", foo_bar, METH_VARARGS},

{NULL, NULL}

};

/* Here\'s the initialization function. We don\'t need to do anything

for our own needs, but Python needs that method table. */

void initfoo()

{

(void) Py_InitModule(\"foo\", FooMethods);

}

/* Finally, let\'s do something ... involved ... as an example function. */

static PyObject *foo_bar(PyObject *self, PyObject *args)

{

char *string;

int len;

if (!PyArg_ParseTuple(args, \"s\", string))

return NULL;

len = strlen(string);

return Py_BuildValue(\"i\", len);

}

C定义文件:f

EXPORTS

initfoo

编译生成l

Cl -c foo.c;

link j /dll /def:f /OUT:l

在PYTHON中调用:

Import foo

Dir(foo)

即可以看到结果:

import foo

dir(foo)

[\'__doc__\', \'__file__\', \'__name__\', \'bar\']

^Z

成都哪家医院看男科
喉咙干痒咳嗽是什么原因
骨关节炎吃什么药
相关阅读
被喷“意淫谷爱凌”!有Rapper被网暴后表示

什么情况。 有Rapper再次登上了风口浪尖。 这次是远古时代MC约拿。 他因为他...

2024-12-16
调查|“双减”一周年,教培机构主导,仍有老师私下攒班

北京日报浏览器 | 摄影记者 莫凡 宗媛媛“双减”新政策落地即将满一周年,...

2024-11-21
78官测:threezero机甲周边系列 PREMIUM 电影 变形金刚 飞鹰 擎天柱

78官测:threezero机兵沿线系列 PREMIUM 片子 变形金刚 飞龙 破坏者 评论转自78D...

2024-11-09
2022年,十二生肖阳历7月份运势南北向!

2022年,十二如意阴历7年初份吉凶过渡到! 文/易鑫 7年初吉凶丁未——小暑...

2024-11-08
2022年全球各地全球性嵌入式展会排期计划表

德国美因茨软件系统展览馆会embedded world 展览馆整整:2022年06翌年21日 ~ 06翌...

2024-11-06
重磅!墨尔本顶级私校酝酿新校,学费低很多!华人妈亲述4岁琪一波三折入学过程

...

2024-11-04
友情链接