什么是iOS中的构建目标文件扩展名?

时间:2018-10-11 09:38:59

标签: ios swift

当我在项目中构建Java对象类时,将以.class扩展名创建构建文件,并且人类不可读;快速构建文件呢?

示例:

car.java  --> build --> car.class

构建后会是什么?

car.swift --> build --> ?

4 个答案:

答案 0 :(得分:3)

Swift与Java的编译过程有所不同,因此不一定存在直接等效的过程。

随着构建的进行,尽管每个Swift文件都将被编译成一个'Object'文件,并以.o扩展名结尾。然后,一旦它们全部构建,它们就被链接在一起以形成二进制文件。如果取消选择iOS应用程序的IPA文件,您将看不到单个.o文件,就像在Java jar文件中看到.class文件一样。

答案 1 :(得分:3)

我知道的一件事是,Swift就像Objective-C一样使用LLVM。

所以在Java中,我们有这个(来源:W3schools)。 enter image description here

在这里,针对Swift(来源:Swift.org)

enter image description here

我希望这会有所帮助!

答案 2 :(得分:0)

*.swift-> *.o(Mach-O目标文件)。

例如,您有一个myLibrary.a-static library (*.a)。您可以使用nm命令显示名称列表(符号表)。

nm myLibrary.a

因此,您将看到*.o文件的列表,其中包含方法,变量名称等。

答案 3 :(得分:0)

在iOS世界中,每个源文件-.m.h.swift都被编译成CPU可以理解的可执行字节代码。这些文件也称为带有元信息的Mach-O(马赫对象)文件。

`*.swift` -> `*.o` (Mach-O object file).

例如,您创建了一个静态库myLibrary.a。您可以使用nm命令显示名称列表(符号表)。

nm path/myLibrary.a

因此,您将看到*.o文件的列表,其中包含方法,变量名称等。