av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

創(chuàng)新互聯(lián)Python教程:c怎么與python交互

C++types是python的一個外部庫,可以使用python語言調(diào)用已經(jīng)編譯好的C語言函數(shù)以及數(shù)據(jù)類型并進(jìn)行數(shù)據(jù)交換等。ctypes的官方文檔在https://docs.python.org/3/library/ctypes.html

10多年的潁州網(wǎng)站建設(shè)經(jīng)驗(yàn),針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。營銷型網(wǎng)站建設(shè)的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整潁州建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)建站從事“潁州網(wǎng)站設(shè)計”,“潁州網(wǎng)站推廣”以來,每個客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

1、ctypes基本數(shù)據(jù)類型映射表

2、python調(diào)用c語言的函數(shù)庫

(1)生成c語言函數(shù)

#Step 1:  test.c
#include 
int add(int a, int b)
{
    return a + b;
}

(2)編譯動態(tài)鏈接庫生成 libtest.so文件(DLL)

gcc -fPIC -shared test.c -o libtest.so

(3)調(diào)用DLL文件

#Step 3:  test.py
from ctypes import *
mylib = CDLL("libtest.so")或者cdll.LoadLibrary("libtest.so")   
add = mylib.add
add.argtypes = [c_int, c_int]  # 參數(shù)類型,兩個int(c_int是ctypes類型,見上表)
add.restype = c_int # 返回值類型,int (c_int 是ctypes類型,見上表)
sum = add(3, 6)

3、指針和引用

對指針實(shí)例賦值只會改變其指向的內(nèi)存地址,而不是改變內(nèi)存的內(nèi)容。指針實(shí)例有一個contents屬性,返回這個指針?biāo)赶虻膶ο蟆?/p>

from ctype import *  
i = c_int(1)  
pi = POINTER(c_int)(i)  
pi2 = pointer(i)
print pi.contents  #返回指針指向?qū)ο蟮闹?print pi2.contents

pointer 和 POINTER 的區(qū)別是,pointer 返回一個實(shí)例,POINTER 返回一個類型。

4、結(jié)構(gòu)類型數(shù)據(jù)

Structures和Unions必須繼承Structure和Union基礎(chǔ)類,它們都在ctypes模塊中定義,每一個子類必須定義個fields屬性,fields是一個二維的tuples列表,包含著每個field的name及type,這field類型必須是一個ctypes類型,如c_int,或者任何其他的繼承ctypes的類型,如Structure、Union、Array、指針等。

from ctypes import *
import types
class Test(Structure):
    _fields_ = [('x', c_int),('y', c_char)]
test1 = Test(1, 2)

如結(jié)構(gòu)體用于鏈表操作,即包含指向結(jié)構(gòu)體指針時,則需如下定義:

from ctypes import *  
import types  
class Test(Structure):  
    pass  
Test._fields_ = [('x', c_int),('y', c_char),('next', POINTER(Test))]

python學(xué)習(xí)網(wǎng),大量的免費(fèi)python視頻教程,歡迎在線學(xué)習(xí)!


網(wǎng)站欄目:創(chuàng)新互聯(lián)Python教程:c怎么與python交互
轉(zhuǎn)載來源:http://uogjgqi.cn/article/cccpcgp.html
掃二維碼與項(xiàng)目經(jīng)理溝通

我們在微信上24小時期待你的聲音

解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流