每个文件都是用Objective-C编译的吗?

每个文件都是用Objective-C编译的吗?,objective-c,xcode,compiler-construction,clang,Objective C,Xcode,Compiler Construction,Clang,我想知道,当我在Objective-C中构建项目时,会编译哪些代码——我项目中的每一行代码,或者只编译那些从main.C调用的代码,然后再编译那些从main.C调用的代码 我的意思是,编译器是将项目分离到简单连接的域中,然后编译链接到main的域,还是只编译所有域 谢谢大家 编译器不会对代码执行语义分析。它完全按照您告诉它要编译的内容进行编译——Xcode通常以将每个文件编译到应用程序中的方式调用编译器。但是,没有必要编译/链接没有使用类/函数的文件;尽管不编译使用类/函数的文件会导致链接错误(

我想知道,当我在Objective-C中构建项目时,会编译哪些代码——我项目中的每一行代码,或者只编译那些从main.C调用的代码,然后再编译那些从main.C调用的代码

我的意思是,编译器是将项目分离到简单连接的域中,然后编译链接到main的域,还是只编译所有域


谢谢大家

编译器不会对代码执行语义分析。它完全按照您告诉它要编译的内容进行编译——Xcode通常以将每个文件编译到应用程序中的方式调用编译器。但是,没有必要编译/链接没有使用类/函数的文件;尽管不编译使用类/函数的文件会导致链接错误(也就是说,编译器将无法在二进制文件中找到某些符号,同时为最终可执行文件编写目标代码)。

项目中的所有文件都会被编译,除了不包含在任何.m文件中的头文件,或者有条件地禁止包含的头文件。

Xcode项目由一个或多个目标组成

对于您可以定义的每个目标,编译哪些*.m文件

如果将新文件添加到项目中,则可以指定将其添加到哪个目标。(事实上,这是一个我经常看到的地方,主要目标没有被选中——当心)


谢谢你给了我一个很好的答案——我自己很难不经询问就得到答案)没问题,是的,我花了一段时间才在没有帮助的情况下找到答案:)