Compiling Objective-C in C does not make sense, because then it will need to parse the C code and compile it.
Objective-C is compiled into machine code . Remember that the language (Objective-C, C, C ++) defines the rules for the correct writing of code. The compiler checks to see if your code matches and compiles it, i.e. Translates it into executable code .
Also, do not confuse the Objective-C language with the Objective-C runtime. The language defines the syntax, the runtime allows you to compile the code (as you say, this is a layer, but it does not compile every time with your program).
EDIT:
The runtime implements the basic behavior of a computer language. The runtime contains compiled function code in the same way as the library does. For example, in C, when you call printf() , your code is compiled into machine code and linked to a library containing an implementation of this function; what this machine code does is pass the parameters to the executable code in the library.
Merlevede
source share