我有三个iOS项目:
所有这些的编译时间都很糟糕(干净版本的编译时间超过10分钟),而且每个版本的开发都在慢慢爬行.
我已经尝试过了:
Whole Module OptimizationC Dialect为编译器默认值HEADERMAP_USES_VFS = YES我正在开发一款带有SSD,8GB内存和2.6ghz i5的Mac mini 2014,如果这很重要的话.
任何人都知道可能导致这种情况的原因,现在该怎么办甚至是任何解决方法?从我在SO和其他地方阅读的内容来看,它似乎是一个未解决的编译器问题.
编辑:是的,我正在使用Cocoapods作为依赖项.我会尝试搬到迦太基看看会发生什么.
我试图了解这段内联汇编的作用,它是从 CDEFINE宏生成的:
#define DEFINE(sym, val) asm volatile("\n->" #sym " %0 " #val : : "i" (val))
#define offsetof(TYPE, MEMBER) ((size_t)&((TYPE *)0)->MEMBER)
Run Code Online (Sandbox Code Playgroud)
它被用于在linux-imxsmc内核分支中进行 AArch64 调用。使用上述 C 宏定义值的地方是:
// arch/arm64/kernel/asm-offsets.c
int main(void)
{
(...)
DEFINE(ARM_SMCCC_RES_X0_OFFS, offsetof(struct arm_smccc_res, a0));
DEFINE(ARM_SMCCC_RES_X2_OFFS, offsetof(struct arm_smccc_res, a2));
DEFINE(ARM_SMCCC_QUIRK_ID_OFFS, offsetof(struct arm_smccc_quirk, id));
DEFINE(ARM_SMCCC_QUIRK_STATE_OFFS, offsetof(struct arm_smccc_quirk, state));
(...)
}
Run Code Online (Sandbox Code Playgroud)
后来,这些定义在汇编宏中使用,可在此处使用(或者至少看起来像这样):
// arch/arm64/kernel/smccc-call.S
.macro SMCCC instr
.cfi_startproc
\instr #0
ldr x4, [sp]
stp x0, x1, [x4, #ARM_SMCCC_RES_X0_OFFS]
stp x2, x3, [x4, …Run Code Online (Sandbox Code Playgroud)