标签: c macos directory main finder
当从Finder启动以常规int main(int argc, char* argv[])样式编写的C程序时,它将从启动它的用户的主目录开始。 (例如 / Users / Fork )。
int main(int argc, char* argv[])
是否有任何花哨的钩子,这样一个基于终端的程序可以知道它在哪个目录中启动?
答案 0 :(得分:0)
您可以通过_NSGetExecutablePath获取程序二进制图像的完整路径。规范化使用例如realpath然后使用例如剥离文件名dirname并且您拥有程序启动的目录。
_NSGetExecutablePath
realpath
dirname