获取可执行文件的路径

2023-11-23

我知道这个问题以前已经被问过,但我仍然没有看到令人满意的答案,或者明确的“不,这不能做到”,所以我会再问一次!

我想要做的就是以独立于平台的方式获取当前运行的可执行文件的路径,无论是绝对路径还是相对于调用可执行文件的位置的相对路径。我虽然 boost::filesystem::initial_path 是我的麻烦的答案,但这似乎只能处理问题的“平台无关”部分 - 它仍然返回调用应用程序的路径。

作为一个背景知识,这是一个使用 Ogre 的游戏,我正在尝试使用 Very Sleepy 来分析它,它从自己的目录运行目标可执行文件,所以当然在加载时游戏找不到配置文件等并立即崩溃。我希望能够向其传递配置文件的绝对路径,我知道配置文件将始终与可执行文件一起存在。 Visual Studio 中的调试也是如此 - 我希望能够运行 $(TargetPath) 而无需设置工作目录。


据我所知,没有跨平台的方法。

对于 Linux:通过"/proc/self/exe" to std::filesystem::canonical or readlink.

Windows:将 NULL 作为模块句柄传递给GetModuleFileName.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

获取可执行文件的路径 的相关文章

随机推荐

  • 将方法设为虚拟有什么危险?

    我一直在使用 RhinoMocks 进行一些模拟 它要求将模拟方法设为虚拟 这很好 除了我们有一个自定义框架 其中包含我想要模拟的方法 这些方法当前未标记为虚拟 我无法预见使这些方法虚拟化会出现任何问题 但我想知道使方法虚拟化有哪些我应该注
  • 如何在 CSS 中创建脉冲发光环动画?

    我喜欢这样的方式website让他们的戒指发光并发出脉冲 我想知道他们是如何做到的 我可以做类似的东西 但我不是很好 这就是我所能弄清楚的 但它似乎不起作用 CSS glowycircleouter blue glow4 box shado
  • 切换到浏览器中其他打开的选项卡时更改标题标签的内容

    我最近在两个不同的网站上看到了这个 有人知道它是如何完成的吗 如果您打开了多个选项卡 并且保留了当前选项卡 则选项卡中的标题会发生更改 非常好的技巧 http blog invisionapp com http zerosixthird s
  • 使用 jQuery datepicker 进行自定义日期格式验证(无法摆脱美国日期验证)

    我快到了 我创建了本地化的 jQuery 日期选择器 添加了自定义格式验证 但无法摆脱 默认 美国日期格式验证 我正在像这样渲染我的日期字段 Html EditorFor m gt m JobDate Html ValidationMess
  • Rails - 嵌套包含在活动记录上?

    我有一个我获取的事件列表 我试图包含与此事件关联的每个用户以及与每个用户关联的每个配置文件 用户被包含在内 但他们的个人资料未被包含在内 我该怎么做 Event includes users profile 文档似乎不清楚 http gui
  • Laravel 5 如何包含 autoload.php

    我试图包含 autoload php 的路径 该路径位于 vendor autoload php 尝试访问它的文件位于 public this file php 我将路径设置为require once vendor autoload php
  • Resteasy Bean 验证未被调用

    问题背景 我有一个通过 Resteasy 使用 Spring 的 Resteasy 服务SpringContextLoaderListener 这是基于 Resteasy 版本构建的3 0 beta 6 我想对传入请求使用 bean 验证
  • Azure DevOps 本地成本

    这么问似乎很奇怪 但这就是微软希望我们做的事情 所以这里 我正在考虑设置本地 Azure DevOps 2019 服务器 但与往常一样 许可和成本不是很透明 我们的开发团队可能会获得 Visual Studio Pro 订阅 我相信它附带
  • 每 5 秒连续调用一次 Javascript 函数 [重复]

    这个问题在这里已经有答案了 可能的重复 每 60 秒调用一次函数 我想每 5 秒连续调用一次 Javascript 函数 我见过 setTimeOut 事件 如果我想要连续使用它会正常工作吗 您可以使用setInterval 参数是相同的
  • 如何用某种颜色突出显示树视图所选项目?

    我在 WPF 中有一个树视图 当我选择树视图项目时 我想要不同的颜色 简单触发TreeView ItemContainerStyle对于默认的 TreeView 模板没有帮助 对于标准模板突出显示是通过特定的背景更改来完成的TreeView
  • jQuery 可以解析存储在变量中的 HTML 吗?

    我使用 PHP 和 ajax 命令来获取外部网页的整个 HTML 内容 通过 PHPfile get contents 命令 并将该 HTML 传递到 JavaScript 变量中 一旦我将页面的 HTML 内容存储在变量中 我是否可以使用
  • 计算旋转矩形中最大的内接矩形

    我试图找到计算可包含在旋转矩形内的最大 面积 矩形的最佳方法 有些图片应该有助于 我希望 理解我的意思 输入矩形的宽度和高度是给定的 旋转角度也是给定的 输出矩形未旋转或倾斜 我正在走一条冗长的路线 我什至不确定它是否能处理极端情况 没有双
  • 模仿 Photoshop 混合效果,如乘法、叠加等

    我正在制作一个带有整页背景图像的网站 我想为侧栏创建一个背景图像 其作用类似于具有乘法作为混合模式的 Photoshop 图层 它只是一个具有 Photoshop 多层 行为 的蓝色表面 无法合并叠加层和图像 因为以其他屏幕比例 尺寸打开网
  • d3js 创建具有固定节点的力布局[关闭]

    Closed 这个问题需要细节或清晰度 目前不接受答案 我已经实现了这个http jsbin com omokap 3 edit 但是 我想取消图形的动态行为 例如在拖尾状态下 但这仅适用于单个节点 并将节点放置在从 json 获取的设置点
  • 使用 JPA 2 配置持久性和 orm

    我在 jBPM 项目中使用 Persistence 时遇到一些问题 我的配置是 jBPM 5 4 Hibernate JPA 2 我目前正在设置流程以通过 persistence xml 连接到具有持久性的数据库 我只是尝试将默认数据源 在
  • 在 SQL 中仅获取每天的多个条目中的最后一行

    我有一张桌子 类似于 Id Name EnteredOn Percentage 01 person1 2011 03 09 17 29 35 683 56 29 02 person1 2011 03 09 17 29 35 731 76 2
  • 如何获得一列包含连续且递增的数字,且不丢失任何数字?

    可能的重复 如何在 PostgreSQL 查询中显示行号 在 Postgresql 中使用标识符重新排序列 使用带有子选择的更新进行 PostgreSQL 记录重新排序 我只是问在 PostgreSQL 中是否存在这样的可能性 如果我有 5
  • Java 不产生正确的 AltGr 键事件

    I m pressing the AltGr key in my Java application but instead of receiving a KeyEvent with key code VK ALT GRAPH I get t
  • CUDA nvcc编译器设置Ubuntu 12.04

    我在 64 位 Ubuntu 12 04 机器上成功安装了 cuda 5 的 nvidia 驱动程序和工具包 但不是示例 即使我之前运行过 示例也无法安装 sudo apt get install freeglut3 dev build e
  • 获取可执行文件的路径

    我知道这个问题以前已经被问过 但我仍然没有看到令人满意的答案 或者明确的 不 这不能做到 所以我会再问一次 我想要做的就是以独立于平台的方式获取当前运行的可执行文件的路径 无论是绝对路径还是相对于调用可执行文件的位置的相对路径 我虽然 bo