Cocoa:int主要功能

Art*_*vin 6 cocoa objective-c nsapplication

我很好奇,int main函数在Cocoa程序中扮演什么角色?实际上,我一直在查看的所有示例代码在main.m中只有以下代码:

#import <Cocoa/Cocoa.h>


int main(int argc, char *argv[])
{

    return NSApplicationMain(argc,  (const char **) argv);
}
Run Code Online (Sandbox Code Playgroud)

这究竟是做什么的,程序实际上从哪里开始逐步执​​行命令?看来我的观念需要重新调整.

Bra*_*nar 10

由于Cocoa项目像其他任何项目一样启动,因此操作系统的入口点是主要的.但是,构建Cocoa体系结构实际上是从NSApplicationMain开始处理程序,NSApplicationMain负责从应用程序加载初始窗口并启动用于处理GUI事件的Events循环.

Apple在Cocoa基础指南:Mac OS X上的核心应用程序架构下对此进行了非常深入的讨论


bbu*_*bum 5

如果您想了解控件如何从"启动此"传递到main()函数,execve手册页将包含详细信息.您还想了解有关dyld的信息. main()是Unix标准的一部分.你可以有效运行的每一个程序都有一个main().

正如其他人所提到的,NSApplicationMain将控制传递给Cocoa.该文档是非常具体的,以它做什么.

一个有趣的说明,NSApplicationMain实际上并不是每次回归.也就是说,如果要将调用与函数中NSApplicationMain的返回分开main并将代码置于其间,则永远不会执行该代码.