我有一个 C++ 程序,旨在为我正在做的暑期项目运行模拟。它的计算量很大,但我已获得使用集群计算机资源来运行它的许可,但我在自己的笔记本电脑上对其进行了测试和开发。该程序生成文本文件作为输出,这就是我遇到麻烦的地方。
我需要将文本文件保存在不同的路径中,具体取决于我是在自己的计算机上还是在集群计算机上运行程序。我现在的解决方案是$(shell hostname)
在我的 makefile 中使用来检查代码正在哪台机器上编译,并从该输出中使用条件编译以及从 makefile 中的该操作定义的宏。有一次,我使用了两个不同版本的标头,它们在我的计算机和集群上定义了不同的宏,但是我使用 git 存储库来来回传输更改,并且我很难排除一个文件像这样。
我只是想知道在编译时在具有相同源的不同计算机上设置路径的最佳做法是什么。