2011-03-25 89 views
0

我想在ctypes中有一個可變長度數組的數組。我也知道外部數組和所有內部數組的大小。python ctypes數組

我發現一個有趣的線程在這裏: How do I emulate a dynamically sized C structure in Python using ctypes

但這樣做的問題是如何創造瓦爾類的數組(見註釋How do I emulate a dynamically sized C structure in Python using ctypes

也許它的東西,我不能ctypes的做我根本不知道,我只是在幾個小時內才知道這個模塊,任何指針都會被讚賞。

謝謝!

回答

1

動態大小的數據結構在ctypes中的處理方式與它們在C中的相同;您使用指向動態數據的指針。不幸的是,這個沒有捷徑。 ctypes文檔包含有關如何處理指向動態數據的指針的相當詳細的描述(例如使用指針作爲任意大小的數組)。雖然起初可能有點困難。就我個人而言,我發現創建一些小測試應用程序有助於驗證我對ctypes和動態數據的使用。這可能需要一些時間和一點點頭疼,但界面非常靈活,所以我希望你可以用ctypes來實現你的目標。

+0

是的,我在考慮使用ctypes指針作爲最後的手段來實現鏈表,但它對我來說有點令人失望,指針在ctypes中可用,但是例如鏈表不是。我只是看不到背後的原因。 – zseder 2011-03-25 13:37:02

+0

@zseder,如果我理解正確,鏈接列表在「ctypes」中不可用的原因是它們在c中不可用!你必須創建你自己的。 – senderle 2011-03-25 13:42:35