我是OCaml的新手,但我試圖找出來自Node的相當於__filename
,__dirname
。也就是說,我需要建立一個路徑相對到包含相關代碼的文件。OCaml:如何獲取當前模塊的路徑* /我的項目目錄?
僅供參考,我通過Ghuloum說的IACC工作:http://ell.io/tt$ocameel
我建立我的第一個編譯器,我有一個完全簡單化的「運行」文件(在C - temporarily)毗鄰編譯器的源代碼。我需要能夠將路徑傳遞給此文件,作爲參數(或預編譯版本,我想)到gcc
或我的鏈接器,以便在我調用鏈接器/彙編程序工具時將其鏈接到我的編譯器輸出。 (這可能是一個愚蠢的問題 - 我在這裏有一個未知的未知數,「編譯器如何獲得鏈接器的運行時間到」,或者類似的東西。關於慣用解決方案的任何評論這是值得歡迎的,即使它不是一個直接回答上面的問題!)
是的,這就是我開始擔心的,在我的問題的一半。我想我需要弄清楚編譯器編寫者是如何將附加資源運送給用戶的。我想我可能不得不將文本(或鏈接到的對象?)插入到二進制文件中? :x謝謝,這對於腳本情況來說是一個很好的答案! – ELLIOTTCABLE
@ELLIOTTCABLE如果你的項目按我的最後一段所描述的那樣佈置,它應該只適用於'argv。(0)'。如果您有需要訪問的其他資源,則可以將它們放入共享/並執行相同的操作。請注意,如果您的stdlib是動態鏈接的,並且您沒有安裝到標準路徑,那麼在運行編譯後的二進制文件時,您還需要設置LD_LIBRARY_PATH以查找.so,但這是無關緊要的問題。 – sepp2k