我有一個C++程序,用於爲我正在執行的夏季項目運行模擬。這是相當計算密集型的,但我已經獲得了使用集羣計算機的資源來運行它的權限,但我測試它並在我自己的筆記本電腦上開發它。這個程序生成文本文件作爲輸出,這是我遇到麻煩的地方。一個源需要在多臺機器上進行不同的編譯
我需要將文本文件保存在不同的路徑中,具體取決於我是在自己的計算機上還是在集羣計算機上運行程序。我現在的解決方案是在我的makefile中使用$(shell hostname)
來檢查代碼正在被編譯到哪臺機器上,並根據該輸出使用條件編譯和在makefile中從該操作定義的宏。有一次,我使用了兩種不同版本的頭文件,這些頭文件在我的計算機上對羣集定義了不同的宏,但我使用git存儲庫來回傳輸更改,並且我排除了一個文件喜歡這個。
我只是想知道什麼是最好的做法來設置路徑編譯時在具有相同來源的不同計算機上。
這聽起來不像我需要在不同的機器上進行不同的編譯。這聽起來像是需要在運行時從命令行或某種配置文件中獲取一些路徑。 – 2012-07-11 13:43:51
哦,我從來沒有想過使用配置文件。我會看看我能找到什麼。你碰巧知道設置配置文件有多容易/難嗎?我想過一個命令行參數,但路徑很長,不共享任何子目錄,所以每次我都必須輸出整個路徑......(我知道,我太懶惰了,但是這不是什麼電腦?) – 2012-07-11 13:50:31