C++预处理器路径根

发布于 2024-10-14 16:16:04 字数 237 浏览 4 评论 0原文

是否可以使用 C++ 预处理器处理文件路径?

我想要的是这个 GETROOT( __FILE__ ) 扩展到 \\myserver\myshare\

假设文件的路径类似于 \\myserver\myshare\folder\folder\file.txt

我正在使用 Windows XP 上的 mcpp

Is it possible to process a file path using the C++ preprocessor?

What I want is this
GETROOT( __FILE__ )
expanding into
\\myserver\myshare\

Supposing that the path to the file is something like \\myserver\myshare\folder\folder\file.txt

I'm using mcpp on Windows XP

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

庆幸我还是我 2024-10-21 16:16:05

取决于编译器,预处理器在 GCC/Microsoft 等上的行为略有不同。
没有符合标准的方法可以做到这一点。

在 Windows 上,您可能会尝试使用构建环境变量。 Visual Studio 可以将这些值($(SolutionDir) 等)公开给预处理器上下文。只需添加一个预处理器值,例如 ROOT_PATH="$(SolutionDir)" (项目设置中的 C/C++ -> 预处理器)。

Depends on the compiler, the preprocessor behaves slightly different on GCC/Microsoft etc.
There is not standard-conform way to do that..

On Windows you might try to use build environment variables. Visual Studio can expose these values ($(SolutionDir) etc) to the preprocessor context. Just add a preprocessor value like ROOT_PATH="$(SolutionDir)" (C/C++ -> preprocessor in project settings).

探春 2024-10-21 16:16:05

不,不是,至少不是以标准方式。我不能肯定地说世界上任何地方都没有编译器可以做到这一点,但这似乎不太可能。

什么用例意味着您无法在运行时执行此操作?

No, it's not, at least not in a standard way. I couldn't say for sure that there are no compilers anywhere in the world that do it, but it seems unlikely.

What's the use-case that means you can't do it at runtime?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文