位于应用程序包中如何影响二进制可执行文件的运行方式?
为了解释,我为 Mountain Lion 编译了 Emacs。这会生成一个二进制可执行文件,以及一个应用程序包 Emacs.app,它包含完全相同的二进制文件(根据差异,内容相同)以及其他资源。
如果我从终端(或查找器)运行二进制文件本身:
- Emacs 启动,正确处理我的 init 文件并且看起来不错。
- 但是应用程序菜单仍然显示“终端”并且
- 键盘输入进入终端而不是 Emacs。
- 红色红绿灯按钮也被发送到 Emacs(Emacs 说它没有什么可保存的)但不会终止进程。
相反,如果我运行 Emacs.app,Emacs 会按预期运行。谁能为我解释一下这个区别?