我目前正在嘗試學習.NET的P/Invoke功能,尤其是在F#中。我試圖調用的C函數需要一個參數,該參數是'指向指針的指針',我正在努力尋找哪個操作符用於在F#中表示這個參數。F指針指針#
做一些閱讀,尤其是這個blog post後,我帶領相信,在.NET語言,這是更好地與代表的&
代替*
指針參數,使得他們「管理指針」(如果有人能爲我澄清任何使用情況下,我不應該使用管理指針,那麼這將是偉大的!)。 因此,到目前爲止,我試過&&
這是不正確的,因爲它代表了一個布爾AND,我也試過**
這將匹配指針指針的'C'樣式表示。
我相信在C#中,您可以用類似於'C'風格的方式來表示它,即int** q;
。
有人會知道如何做類似的F#請嗎?特別是在extern
的定義。
謝謝。
更新
道歉不是更具體的 - 這是一個結構類型。
準確地說我在做什麼 - 我試圖複製結構MMAL_BUFFER_HEADER_T
找到here爲我正在與樹莓派相機模塊工作的項目。這struct
然後用於以下function。指針的地址將在函數返回時設置。
更新2 想大聲這裏 - 將使用System.IntPtr&
以正確的方式代表了這一點?
指針指向什麼?如果它是'char **'或'wchar_t **'那麼那些特殊待遇;如果是別的東西,請具體說明。 – ildjarn
謝謝你的回覆 - 我已經更新了帖子。這是一個結構類型。謝謝。 –
這個指針的語義是什麼?該函數是否分配內存並返回一個指向它的指針?或者是別的什麼? –