Ios 什么是.a(作为libcrypto.a)文件?

Ios 什么是.a(作为libcrypto.a)文件?,ios,xcode,Ios,Xcode,.a(例如libcrypto.a)文件到底是什么?它们由什么组成?它是.m还是.o还是.h还是.c文件 IOS SDK/Xcode如何理解它们?如果我们在xcode项目中包含.a文件,我们是否也需要复制相应的源文件?.a文件就是文件。它们“包含”一个或多个.o文件,即编译代码。要使用它们,您(通常)需要与编译代码相对应的头文件(.h),但不需要源代码(.c,.m)本身 .a文件由ar实用程序生成,编译器调用的链接器(ld)知道它们的格式,以及如何从存档中提取相关的代码片段并放入可执行文件中。很抱

.a
(例如libcrypto.a)文件到底是什么?它们由什么组成?它是
.m
还是
.o
还是
.h
还是
.c
文件

IOS SDK/Xcode如何理解它们?如果我们在xcode项目中包含
.a
文件,我们是否也需要复制相应的源文件?

.a
文件就是文件。它们“包含”一个或多个
.o
文件,即编译代码。要使用它们,您(通常)需要与编译代码相对应的头文件(
.h
),但不需要源代码(
.c
.m
)本身


.a
文件由
ar
实用程序生成,编译器调用的链接器(
ld
)知道它们的格式,以及如何从存档中提取相关的代码片段并放入可执行文件中。

很抱歉,我不熟悉,dint知道它是否存在,谢谢你的提示:)谢谢你的及时回复,我已经为一个示例项目创建了一个静态库.a文件,并在另一个项目中复制了头文件和.a文件。但是当我尝试在调试模式下访问这些方法时,控件指向我创建的.a文件对应的.m文件的方法。如果我只添加了its.h和.a文件,为什么要打开.m文件。调试信息包含文件名和行号。此信息包含在
.o
文件中,以便调试器可以向您显示生成您正在查看的指令的源代码。如果没有这些,您只能看到没有那么有用的汇编。如果IDE有足够的信息,它可以将调试信息映射到实际的源代码文件。谢谢,所以您说,只有在调试模式下,IDE才指向源文件,而不是运行时,因为.o文件?如果我在调试模式下从它的位置删除项目,它会抛出错误,说“xcode找不到源文件”,并在那里中断。但是,当我进入运行时,没有错误取决于您的确切设置。如果编译静态库的源代码时没有调试信息,IDE将无法指向任何地方(也不会尝试),因为它没有这样做的信息(源代码不在
.o
文件中,只有调试信息)。如果您使用调试信息编译库,IDE将尝试定位相应的文件。我现在正在尝试理解一些东西。到目前为止,我正在构建.a文件,通过放置模拟器模式(debug),如果我作为模拟器(release)执行,它应该没有调试信息,对吗?