剛開始深入研究SIP。我有一個包含下面的公共方法.h文件:Python/SIP規範文件 - kwargs和NULL
void Allocate(int width, int height, int pitch, bool withHost, float *devMem = NULL, float* hostMem = NULL);
我創建了一個相應的.sip文件:
1 //SIP wrapper for CUDA Image
2
3 class CudaImage
4 {
5 %TypeHeaderCode
6 #include "cudaImage.h"
7 %End
8
9 public:
10 CudaImage();
11
12 void Allocate(int width, int height, int pitch, bool withHost, float *devMem=NULL, float *hostMem=NULL) /KeywordArgs="All"/;
13 double Download();
14
15
16 int width;
17 int height;
18 int pitch;
19 };
使用cmake,我已經構建工作,可以導入模塊進入Python並可以調用構造函數(因此成功有限)。我也可以調用Allocate方法。不幸的是,在Python方面,我無法獲得暴露的float *devMem=NULL
或float *hostMem=Null
參數。我已經完成了SIP文檔,沒有註釋失蹤。
最終目標是將一個numpy數組(我相信.data屬性)傳遞給hostMem
參數。
如何才能在SIP中暴露指針?什麼指針與默認,NULL,參數?
(Python的3.5,PyQt4中,SIP 4.18.x)