MarioBoy

C++和Python混合编程
一点笔记,记录下来,权当记录一下自己的成长过程。最近在写数据结构的实验,语言要求是C++,刚开始是有些抵触的,可是...
扫描右侧二维码阅读全文
07
2018/11

C++和Python混合编程

一点笔记,记录下来,权当记录一下自己的成长过程。

最近在写数据结构的实验,语言要求是C++,刚开始是有些抵触的,可是写了几个实验之后就渐渐喜欢上了这个如此灵活的语言。而且也正是C++让我第一次接触了指针,也上我迷上了指针,指针简直太灵活了!
如上所述,C++是一门很强大的语言,非常灵活,性能也是语言中的王者,然而C++也有着一些缺点,比如开发效率可能比较低,内存管理非常可能出现bug等等。于是我在做实验的过程中产生了几个想法:1.下学期的数据结构实验课设要求是要用C++的(C++最好),并且需要有图形界面,那我用C++写效率会不会很低,会不会很痛苦?2.我应该如何优雅的使用C++,并且提高我的编程效率?
正是以上几个问题,让我产生了混合编程的念头。而我之前有恰好对Python这个胶水语言有所了解,所以我干嘛不去使用Python,想必使用Python一定是一件令人很快乐的事情。
下面大概就是我如何使用C++和Python混合编程的。

IDE:Clion
操作系统:Windows10 1809
C++编译器:Mingw(gcc,g++)
Python:3.7.0

正如你所看到的,我没有使用Visual studio。对我个人来说,我非常喜欢jetbrains公司的IDE,不管是界面的风格,还是功能的安排。并且jetbrains的ide的快捷键基本上都是通用的,我已经使用习惯了,很难再去换成Visual studio,而且ide并不重要,notepad照样可以编出令人惊艳的程序,不是吗?

首先,你要在你的CmakeList中加入如下配置:

include_directories(E:\\Python37\\include)
link_directories(E:\\Python37\\libs)
target_link_libraries(DataStructures python37.lib)

注意,请将其中的路径换成你的python安装路径.
想必这3行的意思已经很明显了,所以我也不再赘述。
下图是我在configure中的环境配置。

关于如何混合编程:
目前关于python和C++混合编程的中文资料比较少,所以最好的方法就是去python的官方网站去查找相应的文档。
链接如下:
Extending python with c or c++
文档非常详细,而且会让你学到很多python的底层原理。

Last modification:November 7th, 2018 at 04:49 pm
If you think my article is useful to you, please feel free to appreciate

Leave a Comment