• 修改lib文件名称,拷贝修改C:\Python27\libs目录下原来的python27.lib为python27_d.lib

  • 包含头文件在C:\Python27\include目录下

  • 包含lib文件

  • 调用64位lib库需要修改版本

最简单的代码:

 #include "stdafx.h"
#include "python.h" int _tmain(int argc, _TCHAR* argv[])
{
Py_Initialize();
PyRun_SimpleString("print 'hello world!' ");
Py_Finalize();
getchar();
return ;
}

以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环境释放资源。

http://blog.csdn.net/yelbosh/article/details/7495555
http://blog.csdn.net/taiyang1987912/article/details/44779719
http://blog.chinaunix.net/uid-20564848-id-73553.html
http://www.2cto.com/kf/201411/352264.html
http://www.cnblogs.com/linxr/archive/2011/07/22/2113843.html

C、C++中如何成功嵌入python的更多相关文章

  1. pycharm中运行成功的python代码在jenkin中运行问题总结

    我们在用selenium+python完成了项目的UI自动化后,一般用jekins持续集成工具来定期运行,python程序在pycharm中编辑运行成功,但在jenkins中运行失败的两个问题,整理如 ...

  2. C++嵌入Python,以及两者混用

    以前项目中是C++嵌入Python,开发起来很便利,逻辑业务可以放到python中进行开发,容易修改,以及功能扩展.不过自己没有详细的研究过C++嵌入python的细节,这次详细的研究一下.首先我们简 ...

  3. 在应用中嵌入Python:转

    在应用中嵌入Python 前面的章节讨论如何扩展Python,如何生成适合的C库等.不过还有另一种情况:通过将Python嵌入C/C++应用以扩展程序的功能.Python嵌入实现了一些使用Python ...

  4. 嵌入Python系列 | 调用Python模块中无参数函数

    开发环境 Python版本:3.6.4 (32-bit) 编辑器:Visual Studio Code C++环境:Visual Studio 2013 需求说明 在用VS2013编写的Win32程序 ...

  5. c++中嵌入python

    c++ 中嵌入python  :  https://blog.csdn.net/yiyouxian/article/category/6324494 Python C 和线程 :http://www. ...

  6. 【转】C++中嵌入python程序——参数传递

    C++中嵌入python程序——参数传递 前面两篇博客已经介绍如何在C++中嵌套使用 python,但是在实际使用中,我们需要向python传递各种各样的参数,这样的程序才具有更高的灵活性.下面简单介 ...

  7. 嵌入Python | 调用Python模块中无参数的函数

    开发环境 Python版本:3.6.4 (32-bit) 编辑器:Visual Studio Code C++环境:Visual Studio 2013 需求说明 在用VS2013编写的Win32程序 ...

  8. 在C语言中如何嵌入python脚本

    最近在写配置文件时,需要使用python脚本,但脚本是一个监控作用,需要它一直驻留在linux中运行,想起C语言中能够使用deamon函数来保留一个程序一直运行,于是想到写一个deamon,并在其中嵌 ...

  9. 如何在 Go 中嵌入 Python

    如果你看一下 新的 Datadog Agent,你可能会注意到大部分代码库是用 Go 编写的,尽管我们用来收集指标的检查仍然是用 Python 编写的.这大概是因为 Datadog Agent 是一个 ...

随机推荐

  1. 使用screen后台实时执行命令

    在做一个大体积的数据备份时,在远程终端上直接运行备份脚本back.sh,或运行back.sh&放到后台运行,此时关闭远程终端,或网络断开都会让命令停止运行.此时就要使用到screen命令. s ...

  2. 【线段树】Gym - 101201J - Shopping

    题意:n个数,m次询问,每次给你一个询问v,l,r,问你v%a[l]%a[l+1]%...%a[r]是多少. a%b,结果要么不变,要么至少缩小到a的一半,于是用线段树,每次询问当前区间最靠左侧的小于 ...

  3. 【分块】【树套树】bzoj2141 排队

    考虑暴力更新的情况,设swap的是L,R位置的数.swap之后的逆序对数应该等于:之前的逆序对数+[L+1,R-1]中比 L位置的数 大的数的个数-[L+1,R-1]中比 L位置的数 小的数的个数-[ ...

  4. mysql表相关操作

    表的完整性约束 约束条件与数据类型的宽度一样,都是可选参数 作用:用于保证数据的完整性和一致性 主要分为: not null  标识该字段不能为空 default   为该字段设置默认值 unsign ...

  5. [转]SpringMVC入门

    目录 介绍 实例 总结 参考资料 介绍 SpringMVC是一款Web MVC框架. 它跟Struts框架类似,是目前主流的Web MVC框架之一. 本文通过实例来介绍SpringMVC的入门知识. ...

  6. Codeforces Round #345 (Div. 1) E. Clockwork Bomb 并查集

    E. Clockwork Bomb 题目连接: http://www.codeforces.com/contest/650/problem/E Description My name is James ...

  7. Linux下KVM的图形界面管理工具(virt-manager)(桌面版)

    背景: virt-manager是用于管理KVM虚拟环境的主要工具,virt-manager默认设置下需要使用root用户才能够使用该工具.当你想在KVM hypervisor服务器上托管虚拟机,由最 ...

  8. 一个 go 文件服务器 ssdb

    file system ssdb go http listen 文件存储到 ssdb gfs | twemproxy | ssdb(master) ssdb(slave) ssdb 连接协议为 red ...

  9. web安全开发指南--权限管理

    2.1               访问控制安全规则 1 访问控制必须只能在服务器端执行. 2 只通过session来判定用户的真实身份,避免使用其它数据域的参数(比如来自cookie.hidden域 ...

  10. NServiceBus入门:发送一个命令(Introduction to NServiceBus: Sending a command)

    原文地址:https://docs.particular.net/tutorials/intro-to-nservicebus/2-sending-a-command/ 侵删. 能够发送和接收mess ...