我想在 Linux 和 Windows 中编写和重用相同的代码,尤其是路径常量。
fopen(base+"subfolder/abc.bin","wb")
当我在 Linux 中为 Windows 交叉编译时,上面的代码运行良好。
但是,我不得不将代码更改为fopen(base+"subfolder\\abc.bin","wb")
直接在 Windows 中编译。
现在我已经向软件添加了许多依赖项,如果我交叉编译我的软件需要交叉编译,我不想这样做,所以,我在 Windows 和 Linux 版本的软件中都使用预编译的二进制文件。
现在,我面临的问题是,如果我想在 Linux 中编译,我必须更改我不想做的路径,因为我必须维护软件的两个不同分支。有没有一种方法,类似于 Java 使用Paths.get("abcd/def/hij.bin").toString()
. 我不只是要求一个系统调用,一个识别底层操作系统并相应地更改路径字符串的自定义函数会做。
我需要 C 和 C++。