代码无法针对超大实现文件进行编译

问题描述 投票:0回答:1

编译器通过抛出以下错误退出。

/var/folders/2t/jkh9ngsn6f9bnmz8l0mz0zm80000gs/T/xsdLocal20-ZhAiH9.s:1895977:branch out of range
clang: error: assembler command failed with exit code 1 (use -v to see invocation)
Command        /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang failed with exit code 1

该文件有 98341 行。

使用编译器Apple LLVM 3.1

该代码是为模拟器构建的,但不适用于 iOS 设备

ios objective-c
1个回答
0
投票

保存原始文件。

不断注释掉@implementation,直到文件正确编译。 Npw,你知道给你带来问题的课程。

然后采用最大的方法,在代码周围添加“#if 0”,并在顶部“#if 0”之前,返回一个正确的值 - YES、NO、nil,无论什么,文件都会编译。

编译。您仍然遇到问题吗?然后注释掉下一个最大的方法,或者只是按顺序执行这些方法,或者使用二分搜索技术(即注释掉一半的方法,然后注释掉另一半,以深入查找罪魁祸首。

一旦找到问题方法,您将需要将其重构为两个或多个方法,这些方法可能是类的私有方法,因此您的公共接口不会改变。

© www.soinside.com 2019 - 2024. All rights reserved.