解释iOS构建和编译?

时间:2014-03-08 19:20:08

标签: ios compiler-construction

我是iOS dev(Java native)的新手,我对如何编译应用程序感到困惑。我假设它来自Supporting Files文件夹中的main.m文件,该文件将命令移交给AppDelegate。然后,根据应用程序的状态(如didFinishLaunchingWithOptionsapplicationWillResignActive),它会运行该方法中的命令。
因此,如果我的didFinishLaunchingWithOptionswindow.rootViewController设置为另一个文件 - WXController,那么它会将控件传递给WXController并以某种方式运行其中的所有方法'while-loop-esque'方式?

我的理解是否与编译和构建实际上的接近程度如何?

1 个答案:

答案 0 :(得分:1)

你确实错了。但这不是Java的情况!

如果您对构建项目时发生的事情感兴趣,可以在项目文件中单击Xco​​de(通常是文件菜单中的最顶层,除非您使用的是工作区)。这些是项目设置。其中一个标签是calles'Build Phases'。在这里,您可以看到编译器将执行的操作以及顺序!

但是,为了让您快速了解C和C类似编程语言的工作原理:有源文件和头文件。通常所有源文件(在Objective-C的情况下包含您的实际代码的文件都是.m文件)是按随机顺序编译的(ofc。有一个顺序,但它并不重要,因为源文件永远不应该互相参考!)。头文件(.h-files)用于告诉编译器应该包含在其他源文件中的所有变量和方法。这些信息将在编译源时保留为引用,然后用于将所有内容链接在一起。编译完所有内容后(结果是目标文件* .o),从头文件链接器标志生成的引用用于将所有对象链接在一起。