Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否可以看到Objective-C电弧输出?_Objective C_Automatic Ref Counting - Fatal编程技术网

是否可以看到Objective-C电弧输出?

是否可以看到Objective-C电弧输出?,objective-c,automatic-ref-counting,Objective C,Automatic Ref Counting,在xcode中,可以给定一些Objective-C代码,以查看它将在汇编中输出的代码。 有可能看到给定的启用ARC的代码,有可能看到ARC输出的Objective-C吗?ARC没有这样输出Objective-C,它是编译器的一个阶段,它改变编译器生成的汇编程序/机器代码——正如您所注意到的,您可以在Xcode中看到这一点。然而,如果您在二进制文件上使用反编译器,您应该会看到一个“MRC等价物”,这是您将得到的最好结果。试用-演示可用,我自己没有使用过,不知道制作人,等等。但是它会生成psuedo

在xcode中,可以给定一些Objective-C代码,以查看它将在汇编中输出的代码。

有可能看到给定的启用ARC的代码,有可能看到ARC输出的Objective-C吗?

ARC没有这样输出Objective-C,它是编译器的一个阶段,它改变编译器生成的汇编程序/机器代码——正如您所注意到的,您可以在Xcode中看到这一点。然而,如果您在二进制文件上使用反编译器,您应该会看到一个“MRC等价物”,这是您将得到的最好结果。试用-演示可用,我自己没有使用过,不知道制作人,等等。但是它会生成psuedo代码,看起来像结构化汇编,而不是Objective-C。HTH。

这是不可能的,因为ARC不会生成Objective-C代码。ARC是一种编译器功能,它修改生成的程序集,其方式与启用优化相同。您不能告诉编译器向您显示“优化”的C代码;优化不应用于C代码级别。同样,您也不能要求查看“ARC-ified”Objective-C,因为ARC内存管理调用不应用于Objective-C代码级别


如果您确实想查看内存管理调用在何处进行,则必须查看程序集。

您可能会感兴趣: