Logos: File Extensions
Extension | Process order |
---|---|
.x | will be processed by Logos, then preprocessed and compiled as Objective-C. |
.xm | will be processed by Logos, then preprocessed and compiled as Objective-C++. |
.xi | will be preprocessed first, then Logos will process the result, and then it will be compiled as Objective-C. |
.xmi | will be preprocessed first, then Logos will process the result, and then it will be compiled as Objective-C++. |
.xi or .xmi files enable Logos directives to be used in preprocessor macros, such as #define
. You can also import other Logos source files with the #include
statement. However, this is discouraged, since this leads to longer build times recompiling code that hasn’t changed. Separating into .x and .xm files, sharing variables and functions via extern
declarations, is recommended.
These file extensions control how a build system such as Theos should build a Logos file. Logos itself does not take the file extension into account and works regardless of whether a file is Objective-C or Objective-C++.