2016-08-19 58 views
1

我在Racket中有一個適用於DrRacket的GUI應用程序。現在我想爲分發創建一個獨立的可執行文件。在這個階段我需要採取哪些預防措施以確保創建安全的可執行文件以供使用?Racket獨立可執行文件的注意事項

回答

4

一般來說,不,你不應該擔心與分配工具合作。對於大多數代碼,Racket可以靜態確定需要包含在分發包中的內容,因此您不必手動執行任何操作。但是,此規則的一個常見例外是資產或其他非模塊依賴項,例如在運行時加載的圖像。

爲確保資產包含在分發中,請使用racket/runtime-path庫以與分發打包工具合作的方式綁定路徑。這有助於確保您的資產路徑與工作目錄無關,因此相對路徑始終可預測地得到解決。

此外,動態使用諸如dynamic-require之類動態使用的模塊顯然不能靜態確定,因此使用define-runtime-module-path表單來標記應該包含在該分配中的模塊。不過,您大多數時間不需要擔心,因爲像lazy-require這樣的表單會自動按照您的要求推遲到define-runtime-module-path

+0

我認爲沒有關於獨立內存管理或垃圾收集參數優化的問題。此外,是否對使用Racket創建的軟件進行商業使用有任何限制? – rnso

相關問題