請教ctypes如何實現傳入結構體陣列指標的引數

2021-03-03 20:50:50 字數 1405 閱讀 9317

1樓:瑞福德金融

直接將函式引數,定義為結構體指標型別即可。

然後傳入對應結構體陣列名,或者結構體變數的地址。

python使用ctypes呼叫lib,怎麼使用指標型別引數接收輸出引數

2樓:匿名使用者

本文演示了在python中呼叫c語言生成的動態庫,返回結構體指標,並進行輸出!

test.c(動態庫源**)

// 編譯生成動態庫: gcc -g -fpic -shared -o libtest.so test.c

#include

#include

#include

typedef struct structpointertest

structpointertest, *structpointer;

structpointer test() // 返回結構體指標

編譯:gcc -g -fpic -shared -o libtest.so test.c

call.py(python呼叫c語言生成的動態庫):

#!/bin/env python

# coding=utf-8

from ctypes import *

#python中結構體定義

class structpointer(structure):

_fields_ = [("name", c_char * 20), ("age", c_int)]

if __name__ == "__main__":

lib = cdll.loadlibrary("./libtest.so")

lib.test.restype = pointer(structpointer)

p = lib.test()

print "%s: %d" %(p.contents.name, p.contents.age)

最後執行結果:

[zcm@c_py #112]$make clean

rm -f *.o libtest.so

[zcm@c_py #113]$make

gcc -g -fpic -shared -o libtest.so test.c

[zcm@c_py #114]$./call.py

joe: 20

[zcm@c_py #115]$

ctypes的結構體裡面有二維陣列如何定義? 5

3樓:匿名使用者

你這問題沒法

bai攔截啊.你如果du這樣寫不如用字典

zhi,

但是因為python 不是固dao定結構的,陣列和字典回的大小是可以執行時答增加和減少的.多維陣列可以先增加一個主陣列 然後每個單元新增新的元素

虛火和實火如何區分,怎麼區別虛火和實火?

中醫將 火 分為實火和虛火。虛火 也作 上火 一般是指陰虛而導致火升的病理現象。實火一般是尤中醫所講的外來的實邪所致,一般就是飲食上的過盛導致的。實火很多的 是用清熱 降火的瀉法,虛火是用補法。鑑別 一 看小便 顏色黃 氣味重,同時舌質紅,為實火 小便顏色淡 清,說明體內有寒,是虛火。松原市中醫院推...

如何做會計實賬

會計實賬是企業真實發生的經濟業務,真實的公司賬本,進行會計做賬。會計做賬流程 根據出納轉過來的各種原始憑證進行稽核,稽核無誤後,編制記賬憑證。根據記賬憑證登記各種明細分類賬。月末作計提 攤銷 結轉記賬憑證,對所有記賬憑證進行彙總,編制記賬憑證彙總表,根據記賬憑證彙總表登記總賬。結賬 對賬。做到賬證相...

請教如何信佛

將學佛的作用只用來靜心,那就等於讀完美國牛津大學而走去做搬運工.學佛的作用是語言表達不盡的.先從下面 的佛教的入門讀物學基礎知識 另外,送你兩首歌靜心 另外,不僅是學佛法,還要修佛法.您好 信佛就要學佛 是學習佛的行為 當你行為上做到了 您的身心就要起變化了 學四書五經也一樣的 如果自己看不明白 就...