日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
創(chuàng)新互聯(lián)Python教程:c怎么與python交互

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

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

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

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

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

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

(2)編譯動(dòng)態(tài)鏈接庫(kù)生成 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ù)類型,兩個(gè)int(c_int是ctypes類型,見上表)
add.restype = c_int # 返回值類型,int (c_int 是ctypes類型,見上表)
sum = add(3, 6)

3、指針和引用

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

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 返回一個(gè)實(shí)例,POINTER 返回一個(gè)類型。

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

Structures和Unions必須繼承Structure和Union基礎(chǔ)類,它們都在ctypes模塊中定義,每一個(gè)子類必須定義個(gè)fields屬性,fields是一個(gè)二維的tuples列表,包含著每個(gè)field的name及type,這field類型必須是一個(gè)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)體指針時(shí),則需如下定義:

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í)!


文章題目:創(chuàng)新互聯(lián)Python教程:c怎么與python交互
網(wǎng)頁(yè)地址:http://m.5511xx.com/article/cccpcgp.html