把Python嵌入C++的具体操作方案的介绍

开发 后端
Python在实际应用中具有很多的优点,C++ 也不例外,那你是否想过将Python嵌入C++ 时,它们在实际操作的过程中相关功能是否会得到最大限度的发挥?

Python是计算机语言中在实际应用中较为简洁的语言,在其实际应用中可以避免很多其他语言在实际应用过程中产生的不便之处,本文要谈的是如何在Python嵌入C++ 的实际具体操作方案的介绍,你如果了解这一操作会让你在Python实际应用中得到更好的应用。

Python嵌入C++ 的具体方案的介绍如下:

python是一门非常优秀而且优雅的语言,没有了分号和大括号的烦恼,是你在开发中不用再担心大括号匹配问题和语句结束分号遗漏的麻烦,好了,切入正题,本题谈的是如何将python嵌入到C++中去,让你的c++程序更上一层楼!
 

1.安装python,

2.首先要设置库文件,将python内目录下的include和lib包含进库文件和库包含中。

好了,我们开始工作了,先看一个小程序:

  1. #include<python.h>#include<iostream>using
     namespace std;int main(){ Py_Initialize(); /* 

初始化python解释器

  1. */ PyRun_SimpleString("print 'hello world!'"); /*  

调用python语句*/ Py_Finalize(); /*结束python解释器,释放资源*/}运行之后,将会在控制台程序下输出hello world!这就是我们的***个程序,其中***行和第三行是必须的,让我们来看看更多的代码,这是在c++程序中调用python脚本中的函数:我们先写一个脚本:

  1. ___def helloworld():  
  2. _______print 'hello world!' 

然后保存为first.py文件到当前工程下的目录,代码如下:

  1. #include<python.h>int main(){  PyObject* p_module
     = NULL;  PyObject* p_func = NULL; 
     Py_Initialize(); /*  

Python解释器初始化

  1. */   p_module = PyImport_ImportModule("first");
      
    p_func = PyObject_GetAttrString
    (p_module, "hello");  PyEval_CallObject
    (p_func, NULL);  Py_Finalize(); /*  

结束Python解释器,释放资源

  1. */   return 0;}  
  2. yImport_ImportModule()  

是导入脚本的文件,参数是文件名

  1. PyObject_GetAttrString() 

是从你import的文件中找到指定的函数PyEval_CallObject()是调用你的函数,其中NULL部分为函数的参数。运行后,你将会看到hello world! 字符串。

【编辑推荐】

  1. Python目录的创建与移动以其典型例子进行解析
  2. 用Python分解路径名的典型例子解说其实际操作
  3. Python文件复制中如何复制相关文件的实际操作
  4. 用Python操作文件如何查看目录内容的具体方法
  5. Python os.walk 在遍历目录中的实际应用步骤
责任编辑:佚名 来源: 互联网
相关推荐

2010-03-26 10:46:20

Python嵌入CC++

2010-03-26 11:00:55

Python嵌入CC++

2010-03-17 13:33:04

Python Libr

2010-02-02 17:13:35

C++ Endian

2010-02-03 13:26:53

C++计时

2010-03-25 17:39:37

Python web

2010-03-26 11:00:55

Python嵌入CC++

2010-02-01 14:33:05

C++实现RTTI

2010-03-24 12:45:00

Python 嵌入

2010-02-02 13:57:31

C++解析#pragm

2010-05-14 14:46:38

MySQL手动安装

2010-03-26 12:41:05

Python嵌入C++

2010-03-26 09:48:43

Python嵌入C++

2010-02-02 16:23:46

C++实现WPF动画

2010-08-02 12:34:09

ADSL代理设置

2010-08-02 17:20:12

nfs启动Linux

2010-07-26 13:30:23

2010-03-19 14:19:58

Python正则表达式

2010-03-26 12:54:27

Python嵌入C++

2009-08-31 13:32:38

C#创建XML文件
点赞
收藏

51CTO技术栈公众号