日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

Windows中使用Python和C/C++联合开发应用程序起步

發(fā)布時間:2025/3/15 c/c++ 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Windows中使用Python和C/C++联合开发应用程序起步 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Windows中使用Python和C/C++聯(lián)合開發(fā)應(yīng)用程序起步(Python/C API應(yīng)用)??

2009-10-01 23:27:38|??分類: 學(xué)習(xí) |舉報 |字號?訂閱

C/C++幾乎無所不能,從功能上講這是沒錯的。而從實際效用上講則不盡然。C/C++,包括MSVC,可以開發(fā)出很漂亮的界面,但對個人卻很難做到快速開發(fā)。這就需要有其他一些語言,和C/C++結(jié)合起來,聯(lián)合進行應(yīng)用程序開發(fā)。比如利用Python

1.安裝PythonEclipseMinGWCygwin

Linux中的應(yīng)用,網(wǎng)上有很多教程。但在Windows中的并不多。要想利用Python/C API進行開發(fā)。首先需要在Windows里安裝Python。我推薦裝Pythonxy。這里面包含了Python本身,另外還有很多廣為應(yīng)用的Python可選模塊,而且它提供Windows下的exe安裝文件。首先從http://www.pythonxy.com/download.php中下載Windows安裝版。然后從中選擇自己需要的模塊。這里,基本可以按默認的來。為了確保以下所講例子能很好地運行,一定選上SciPyPyQtMatplotlibgnuplotPywin32。然后在Eclipse中,至少選中EclipseCDT。在others中至少選中MinGW。上面的Select type of installcustom,下面的路徑選擇中,全把路徑C盤改為D盤,這樣,會將程序安裝到D:\Program Files\pythonxy下,而將庫文件和頭文件等放到D:\Python25下。然后next直至安裝結(jié)束。

開發(fā)環(huán)境選用Eclipse,當(dāng)然也可以選Visual Studio。但是既然Python采用的是近似于GPL的一種open source語言,而又有唾手可得強大的open source IDE Eclipse,那么為什么還要去選Microsoft這種商業(yè)軟件。不過,關(guān)于在Visual Studio 2008里的應(yīng)用,也會在后面提到。

由于Python/C API使用的是GCC作為編譯器,而我們之前在裝Pythonxy時,已經(jīng)選裝了Eclipse CDTMinGW。這樣我們就幾乎可以應(yīng)用Eclipse作為Python/C程序開發(fā)環(huán)境。只需要再裝好Cygwin就行。

http://www.cygwin.com/下載然后安裝Cygwin到比如D:\cygwin,然后添加D:\cygwin\bin到環(huán)境變量(my computer---右鍵---àproperties----àAdvanced----àEnviroment Variables,然后選中PATH----àEdit,在上面添加D:\cygwin\bin)。打開命令行cmd,然后輸入ls,若能輸出路徑Cygwin安裝完成。輸入gcc回車,若輸出gcc: no input files,則說明MinGW也正確安裝。接下來就可以配置Eclipse CDT了。

2.配置Eclipse IDE for Python

打開Eclipse CDT,在Window---àpreferences----àC/C++----àNew CDT project wizard----àMakefile Project----àBuilder Settings----àBuild command編輯框里的make改為mingw32-make。若無法修改,需要先勾掉上面的Use default build command。然后ok

新建一個工程。從File----ànew----àProject----àC++----àC++ Project----àNext----à輸入Project Name----à選擇一個location----àExecutable----àHello world C++ Project----àFinish

添加Python頭文件路徑。在菜單上Project----àProperties----àC/C++ General----àPaths and Symbols----àIncludes----àGNU C++----àAdd----à添加D:\Python25\include

添加Python庫文件路徑。同樣Project----àProperties----àC/C++ General----àPaths and Symbols----àLibrary Paths----àAdd----àD:\Python25\libs

添加Python庫文件。同樣Project----àProperties----àC/C++ Build----àSettings----àTool Settings----àMinGW C++ Linker----àLibraries----àLibraries(-l)----àAdd: python25

這樣就對Eclipse CDT和新Project配置完畢。

3.添加Python代碼

最簡測試Python embeddedC++ program里的程序。如下

#include"Python.h"

#include<iostream>

?

usingnamespacestd;

int draw_FromFile();

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

{

????? cout << "!!!Hello World!!!" << endl; // prints !!!Hello World!!!

????? Py_Initialize();

?

????? draw_FromFile();

????? cout<<"End of the program!"<<endl;

?

??? ? Py_Finalize();

????? return 0;

}

?

int draw_FromFile()

{

????? char *filename = "D:\\sinoid.py ";

????? PyObject* PyFileObject = PyFile_FromString(filename, "r");

????? PyRun_SimpleFile(PyFile_AsFile(PyFileObject), filename);

?

????? return 0;

}

然后在D盤下創(chuàng)建Python文件D:\sinoid.py,其內(nèi)容為

from pylab import *

x=arange(0,2,0.01)

y=2*sin(2*pi*(x-1/4))

plot(x,y)

xlabel('x-axis')

ylabel('y-axis')

title(r'$y=2\sin (2\pi(x-1/4))$')

show()

這個python文件就是類似于MatLab里的Plot,繪制一個正弦曲線。首先保存對源文件所做的修改,然后從Eclipse菜單Project下選Bulid Project,然后可以從IDE下面console窗口看到輸出:

Build complete for project …

Time consumed: 1531? ms.

然后從菜單Run下選RunCtrl+F11,運行后彈出Python繪圖窗口:

Matlab很相似,而且完全使用開源軟件,開發(fā)快速。

如果一定想要在Visual Studio中應(yīng)用Python/C API,需要注意以下幾點:

1Project Property中加入了Additional Library DirectoryAdditional Include DirectoryAdditional Dependencies后,如果你是在Debug mode下,你會遇到cannot open file ‘python25_d.lib‘問題。這需要你下載Python源文件,然后自己在MSVC下編譯得到python25_d.libpython25_d.dll,然后把這兩個文件放到你Projectworkspace下,這才能編譯鏈接通過。

2、運行時,會有no module named _socket problem等類似問題,使得Python的部分模塊無法加載,從而無法實現(xiàn)全部功能。

3、事實上你只有在release mode中工作才能得到Python完整的功能。這是因為你使用的是python25_d.lib,一個Debug版的Python庫。

所以,還是用Eclipse CDT吧。

?

Reference web pages:

Python License:http://www.python.org/psf/license/

利用Eclipse CDT建立 windows下面C++開發(fā)環(huán)境

http://www.pc51.net/system/windows/windows2000/2006-12-21/486.html

Windows eclipse CDT C++ MinGW

http://bbs.xiasha.cn/redirect.php?tid=156437&goto=lastpost

how to get python25_d.lib and?python25_d.dll:http://jngxiao.wordpress.com/2008/06/06/how-to-get-python25_dlib-and-python25_ddll/

Extending Python with C or C++:http://docs.python.org/extending/extending.html

Building C and C++ Extensions on Windows: http://docs.python.org/extending/windows.html

C++ 擴展和嵌入 Python: http://www.vckbase.com/document/viewdoc/?id=1540

總結(jié)

以上是生活随笔為你收集整理的Windows中使用Python和C/C++联合开发应用程序起步的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。