導航:首頁 > 編程語言 > python和vc的二次開發

python和vc的二次開發

發布時間:2023-03-10 05:32:12

『壹』 剛入大學,請問計算機二級,python,c語言,c++,編程分別是什麼

計算機二級是一門計算機等級的考試,其中報考的科目可以有好多種,主要分為兩種——office和語言,而語言又分成三個大科目——高級語言程序設計,web語言網頁開發,資料庫程序設計,派森跟C就是其中高級語言程序設計的科目之一。考生只需要在公布的科目里隨便報考一個就可。(自行看下圖)

C和C++的關系,可以看成win7和win10的關系,也就是升級版。C++是在C的基礎上二次開發的,比C的功能高,並且還完美 "兼容" C.

派森是另一門語言,跟C互有不同。

『貳』 Python二次開發是什麼意思

1、Python含義

Python 是一種面向對象的動態類型語言,如今被廣泛用於獨立的、大型項目的開發。

2、二次開發的含義

二次開發,簡單的說就是在現有的軟體上進行定製修改,功能的擴展,然後達到自己想要的功能,一般來說都不會改變原有系統的內核。

3、Python二次開發

Python二次開發顧名思義就是將Python作為腳本語言對系統進行定製修改,功能擴展,從而讓系統變得更全面,便於企業的長遠發展。市面上系統支持用Python進行二次開發不少,例如:百數搭建的系統就支持用Python進行二次開發,有需要的小夥伴們可以了解一下。

『叄』 如何讓python調用C和C++代碼

要搞明白如何讓python調用C/C++代碼(也就是寫python的extension),你需要征服手冊中的<<Extending && embedding>>厚厚的一章。在昨天花了一個小時看地頭暈腦脹,仍然不知道如何寫python的extension後,查閱了一些其他書籍,最終在<<Python Programming On Win32>>書中找到了教程。
1. 首先要明白的是,所謂的python擴展(也就是你提供給python的c/c++代碼,不一定是c/c++代碼,可以是其他語言寫的代碼)是一個dll,並且這個dll放在本機python安裝目錄下的DLLs目錄下(譬如我機器上的路徑是:F:/Program Files/Python25/DLLs),假如我們接下來要寫的擴展mole名為mb,python調用的代碼為:import mbmb.showMsg("Python's really amazing, I kindda love it!")
2. 搭建環境,我們要使用python提供的c頭文件和lib庫來進行擴展的開發。
在vs 2005下點擊菜單 "工具"->"選項", 打開選項對話框,選擇"項目和解決方案->VC++目錄", 然後在右邊"顯示以下內容的目錄"得comboBox上選擇"包含文件」,添加python的include目錄(我的機器上是"F:/Program Files/Python25/include"),然後選擇庫文件,添加python的libs目錄(我的機器上是"F:/Program Files/Python25/libs")。
既然擴展是一個dll,接下來我們要建立一個「動態鏈接庫」工程,然後開始寫代碼:
#include <python.h> //python.h是包含python一些定義的頭文件,在python的include目錄下/*我的python版本是2.5, 因為安裝python後它沒提供debug下的lib庫文件,因此你必須生成release版的dll,
想要生成dll版本的,你要到python官網上自己去下載python源代碼,當然你可以繼續生成release版本的dll,但dll中包含調試信息*/#pragma comment(lib, "python25.lib")//先不管static PyObject* mb_showMsg(PyObject* self, PyObject *args);/*如果你的擴展是mb,那麼必須實現一個initmb函數,並且從dll中導出這個函數,但我們在python中調用import mb時,python會去dll里去調用
extern "C" __declspec(dllexport) void initmb(){/*當調用mb.showMsg("Python's really amazing, I kindda love it!")時, 相當於你告訴python我有一個showMsg函數,我們怎麼告訴python去調用我們dll里的mb_showMsg函數呢?技巧就是下面的方式,定義一個字典數據結構,key => showMsg, value =>mb_showMsg,METH_VARARGS是函數調用方式,仔細查手冊吧*/static PyMethodDef mbMethods[] = {
{"showMsg", mb_showMsg, METH_VARARGS},
{NULL, NULL, NULL} /*sentinel,哨兵,用來標識結束*/};//告訴python我們的模塊名叫mb, 模塊包含的函數都在mbMethods字典里
PyObject *m = Py_InitMole("mb", mbMethods);}/*接下來實現核心功能showMsg*///第一個self參數我們用不著,具體查手冊,第二個參數是python傳給我們的參數,它是一個python的參數tuple
static PyObject* mb_showMsg(PyObject* self, PyObject *args){//我們的showMsg函數需要的是一個字元串參數
const char* msg = NULL;/*調用特殊參數解碼python傳遞給我們的參數,s是string,我們傳遞接收參數的變數地址,
如果你的功能函數需要兩個參數,在PyArg_parseTuple後面繼續添加接受參數的變數地址,
這個函數的原型是類似printf的不定參數的形式
PyAPI_FUNC(int) PyArg_ParseTuple(PyObject *, const char *, ...);*/if (!PyArg_ParseTuple(args, "s", &msg))
return NULL;//調用MBint r = ::MessageBox(NULL, "hello", "Caption:Form C mole", MB_ICONINFORMATION | MB_OK);//返回值return Py_BuildValue("i", r);}將上面這段混雜著大量注釋的代碼拷貝到你的編輯器里,然後編譯生成mb.dll,修改後綴成mb.pyd,然後拷貝到python的DLLs目錄下,打開idle(python的交互程序),寫入代碼:import mbmb.showMsg("Python's really amazing, I kindda love it!")

『肆』 如何發布vc調用Python的獨立運行的程序

  1. 譯Python腳本生成可執行程序,可以通過py2exe編譯完成。

  2. 在VC中調用python時,可以結合py2exe,完成整個程序的獨立發布

  3. google.py:

  4. #! /usr/bin/env python
    import sys, webbrowser
    def main(a):
    url = "http://www.google.com/search?q=%s" % a
    webbrowser.open(url)

閱讀全文

與python和vc的二次開發相關的資料

熱點內容
python運維管理工具 瀏覽:453
功率分配演算法 瀏覽:489
錢豆豆app可以做什麼 瀏覽:194
騰訊雲伺服器還需要資料庫嗎 瀏覽:767
比較器編程 瀏覽:738
蘋果賞金賽和平精英是什麼app 瀏覽:986
idea查找項目所在文件夾 瀏覽:163
程序員的電腦硬碟清理 瀏覽:686
安卓手機照片太多內存不夠怎麼辦 瀏覽:958
施工命令號 瀏覽:59
javajpgtiff 瀏覽:871
忻奇醫用靜脈曲張壓縮襪 瀏覽:894
寧國壓縮泡沫板 瀏覽:957
速8屬於什麼app 瀏覽:606
小米8手機照片視頻文件夾 瀏覽:718
現代製造技術pdf 瀏覽:654
winftp命令大全 瀏覽:930
海南超市送貨有什麼app 瀏覽:576
迷你編程怎樣切換賬號 瀏覽:754
網路工程師ping命令 瀏覽:152