我使用emacs和tuareg模式,並且我總是在emacs裏打開ocaml repl。我想知道是否有一種方法可以從repl內編譯基本的OCaml測試文件,因此我不必將編譯作爲系統命令運行。從OCaml內部編譯repl
4
A
回答
1
據我所知,沒有,但你可以很容易地從emacs內運行編譯。
如果使用M-x compile
命令(C-c C-c
使用tuareg mode),編輯在Emacs中運行「編譯模式」,這是相當不錯的工作。特別是,如果出現編譯錯誤(M-x goto-next-error
或「C-x`」),它允許您直接跳轉到代碼中的錯誤位置。
使用編譯命令,您可以選擇(shell)命令來運行編譯。您可以直接調用ocaml編譯器(通常爲ocamlc -c foo.ml
),或者使用ocamlfind
來方便使用外部庫進行編譯,甚至可以使用make
或ocamlbuild
來爲您自動編譯大部分編譯。通常,如果您有一個使用不同源文件的小項目,使用main.ml
文件,ocamlbuild main.byte
將執行從其生成可執行文件的工作。
編輯:當然,您可以使用Sys.command
函數從頂級內部調用系統命令。但我沒有看到這一點。
1
「repl」是指「讀取評估打印循環」,例如您可能已經在Emacs中運行run-caml
。
有一個Emacs命令compile
用於編譯,無論你在做什麼或正在編輯的文件。它通常與C-C C-C綁定,但似乎不在我的inf-caml版本中。儘管如此,你可以將它綁定到任何方便的序列(可能不是C-c C-c,因爲它用於中斷OCaml頂層)。
您可以更改由compile
啓動的命令(默認爲make -k
)。您的命令行應保留在Emacs會話中。如果你不喜歡它在會話之間丟失,寫一個Makefile使默認命令成爲正確的命令。這是最簡單的方法。
相關問題
- 1. OCaml的異步編譯
- 2. OCaml + Menhir編譯/寫入
- 3. OCAML編譯錯誤Out_of_memory
- 4. ocaml的編譯器文檔
- 5. 編譯多個Ocaml文件
- 6. OCaml中的條件編譯
- 7. 剖析OCaml的編譯器
- 8. 從Emacs內部編譯程序?
- 9. OCaml-Wodi第2部分:編譯使用什麼安裝
- 10. 使用它編譯C庫和OCaml的exe,全部使用ocamlfind
- 11. ocaml的 - 編譯器和手動
- 12. OCaml編譯器檢查向量長度
- 13. OCAML編譯錯誤在哪裏?
- 14. 編譯時檢測OCaml版本C
- 15. 在OCAML Unison源編譯錯誤
- 16. 失敗編譯的OCaml的WebSocket
- 17. OCaml模塊的單獨編譯
- 18. OCaml的編譯錯誤與ocamlfind
- 19. ocaml編譯過程的邏輯
- 20. 反編譯OCaml字節代碼文件
- 21. Ocaml代碼編譯,但不與頂層
- 22. 編譯,GMP的錯誤消息,ocaml的
- 23. 在記事本++中編譯ocaml
- 24. 編譯linux中的z3 ocaml綁定
- 25. OCAML模塊類型和模塊編譯
- 26. 如何編譯ocaml圖形窗口cygwin
- 27. 從Python內編譯java
- 28. 從OCaml到C編譯器構建的書建議
- 29. AngularJS在部分內部的循環內部編譯內部模板
- 30. 靜態內部類編譯結果
這聽起來像你也可能想要編譯的文件加載到頂層?您可以使用其他參數重新啓動頂層,也可以使用'#load「文件來包含它。 – nlucaroni 2010-10-27 20:42:18