簡體   English   中英

將python類對象作為參數傳遞給C庫

[英]Passing python class object as parameter to c library

我有一個python腳本,該腳本調用從C共享庫導出的方法。

如何將python類對象作為參數傳遞給這些方法之一。

Python代碼:

class module(object)
     def __init__(self, param1):
         self._param1 = param1

lib = CDLL("name")
mod = module1(10)
lib.func(pointer(mod))

C示例代碼:

struct module {
  int val;
};
extern "C" void func(struct module* data);

我可以在c函數“ func”中訪問存儲在module1參數中的值嗎?

還有其他想法如何實現此功能嗎?

經過一番窺探后發現了一種方法:

您可以在python中將結構聲明為:

class POINT(Structure):
    _fields_ = [("x", c_int),
               ("y", c_int)]

並傳遞此結構的參考。

請參閱: ctypes docs頁面

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM