Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
当int main(int argc, char* argv[])从 Finder 启动以传统风格编写的 C 程序时,它会在启动它的用户的主目录中启动。(例如/Users/Fork)。
int main(int argc, char* argv[])
有没有什么花哨的钩子可以让这样一个基于终端的程序知道它是在哪个目录中启动的?
您可以通过 获取程序二进制图像的完整路径_NSGetExecutablePath。使用 eg 规范化,realpath然后使用 eg 去掉文件名dirname,你就有了程序启动的目录。
_NSGetExecutablePath
realpath
dirname