簡體   English   中英

從clojure使用可選的null參數調用Java函數

[英]Calling a java function with an optionally null argument from clojure

我試圖找出如何直接從clojure使用LWJGL3。 到目前為止,我發現的唯一絆腳石是一個有時需要將參數設為null的函數,但是它的類型在指紋中很long 有關具體功能是glfwCreateWindow​org.lwjgl.glfw.GLFW類。 最后兩個參數是long ,但是對於第一個參數,在使用窗口模式時,對於第二個參數,它們應為null ;對於第二個參數,它們不共享gl上下文。 問題是互操作調用檢查該函數的指紋,看它應該是一個long nil ,因此傳遞nil導致IllegalArgumentException

我四處張望,但似乎沒人能解決這個特殊問題。 這與nil-punning無關,因為參數有時應該為nil。

這是我已經運行的代碼: https : //gist.github.com/Efimero/2c0af4ae3aeaf2c85136aa06ff077919

但這僅適用於默認設置,因為默認零值對我的設置適用,但它們不是抽象的。

當我傳遞nil我希望正常調用該函數,但是出現異常。

這沒有道理。 long在任何地方都不能為null。 似乎這是文檔中的溝通不暢,包裝的C或C ++庫從那里泄漏出去。

我強烈猜測在文檔說NULL地方傳遞0是正確的。

暫無
暫無

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

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