int* GrabImage();
站在用戶的角度思考問題,與客戶深入溝通,找到酉陽土家族苗族網(wǎng)站設(shè)計(jì)與酉陽土家族苗族網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、空間域名、雅安服務(wù)器托管、企業(yè)郵箱。業(yè)務(wù)覆蓋酉陽土家族苗族地區(qū)。
int GetPixel(int* image, int x, int y);
void SetPixel(int* image, int x, int y, int color);
若你是想調(diào)用 c 編寫的DLL,可以使用ctypes調(diào)入使用;
#!/usr/bin/python
from?ctypes?import?*
import?os?
#需要使用絕對(duì)路徑
extest?=?cdll.LoadLibrary(os.getcwd()?+?'/DemoC.so')
或在windows下
#!/usr/bin/python
import?ctypes
import?os?
if?os.name?==?'nt':?#?windows系統(tǒng)
_lib_name?=?os.getcwd()?+?'/DemoC.DLL'
dl200_lib?=?ctypes.WinDLL(dl200_lib_name)
在函數(shù)聲明加入前綴,如
__declspec(dllexport) int Fun(int a, int b)
否則在加載該dll時(shí)會(huì)提示找不到該符號(hào)
在windows下可以通過vs自帶的dumpbin工具查看可被調(diào)用符號(hào)
dumpbin /exports test.dll
C函數(shù)在調(diào)用過程中關(guān)于參數(shù)傳遞和壓棧由多種規(guī)定,作為dll提供給其他程序調(diào)用時(shí),必須明確并統(tǒng)一為同一種調(diào)用規(guī)定,否則會(huì)導(dǎo)致棧破壞,編譯器負(fù)責(zé)具體實(shí)現(xiàn)調(diào)用規(guī)定,主要有以下幾種調(diào)用規(guī)定
python下調(diào)用C庫有多種方式,ctypes是其中一種比較方便的,調(diào)用時(shí)首先需要加載dll文件,根據(jù)C dll的調(diào)用規(guī)定不同需要使用不同接口,使用ctypes需要 import ctypes 庫
對(duì)于簡單的C函數(shù),例如 int add(int a, int b) , 此時(shí)就可以直接調(diào)用了,如
對(duì)于較復(fù)雜的C函數(shù)的參數(shù)情況,ctypes調(diào)用時(shí)對(duì)入?yún)⒑统霾妥鲆欢ㄌ幚?,這里分情況討論
以上包含了幾種主要的參數(shù)傳遞情況,ctypes也提供了一個(gè)較為完整的python類型和C類型的對(duì)照,如下:
網(wǎng)頁名稱:包含python使用c函數(shù)的詞條
網(wǎng)頁地址:http://redsoil1982.com.cn/article14/docpoge.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、外貿(mào)建站、動(dòng)態(tài)網(wǎng)站、微信公眾號(hào)、定制開發(fā)、網(wǎng)站設(shè)計(jì)公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)