gpt4 book ai didi

xcode - 为什么内联汇编不能与 Xcode 中的 ARC 一起使用?

转载 作者:行者123 更新时间:2023-12-01 22:10:29 29 4
gpt4 key购买 nike

我对这个问题真的很困惑。我在 Xcode 上使用 LLVM 4.1 编译器,当我在 32 位或 x64 或 x64-x86 模式下编译这样的简单基本代码并关闭 ARC 时,一切正常但如果我使用自动引用计数模式进行编译;我收到 BAD_ACCESS 错误。

这是示例代码:

-(void) doNothing{

__asm__ volatile(
"pushl %ebp;"
"movl %esp , %ebp ;"
"movl %eax , -4(%ebp);"
"movl %ebp, %esp;"
"popl %ebp;"
"leave;"
"ret " // retl in x86
);

}

我试图找出错误的根源,我发现推/弹出是唯一在 ARC 模式下工作的部分!

这太令人沮丧了,因为我过去在内联汇编中编写了大量代码,现在我必须使用 ARC 将其连接到模块中。现在,如果我无法解决它,我可能需要修改所有模块才能在没有 ARC 的情况下工作!

有人可以帮我吗?

最佳答案

您无法在 OS X 上以 32 位模式使用 ARC。根据 Objective-C Feature Availability Index , ARC 需要 OS X 上的 64 位系统。

关于xcode - 为什么内联汇编不能与 Xcode 中的 ARC 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14145613/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com