出于教育目的,我想在现有的 iPhone 应用程序中添加一个 ARM 汇编函数。我不需要一般 ARM 汇编的教程,因为我已经读了太多了。我只是不知道如何实际运行代码!
我想做的事情类似于:
useless.h:
void useless();
useless.s:
useless:
bx lr
如果在模拟器上也能工作那就太好了... 在模拟器上,.s文件无法编译,所以我应该做一些像这样的事情: useless.s:
#if I_AM_ARM
useless:
bx lr
#endif
useless.c:
#if !I_AM_ARM
void useless()
{
}
#endif
我知道我使用的语法是错误的,但是应该如何编写正确的语法呢?(不能仅仅因为想尝试一些内联汇编而在模拟器上破坏应用程序...)
第二个选择是使用内联汇编,但我强烈希望使用非内联汇编。
谢谢!
编辑:我想学习ARM汇编语言,所以我想找到一种编译ARM汇编代码和执行ARM汇编代码的方法。
void useless();
是正确的。据我所知,模拟器编译成本地代码而不是模拟ARM,因此汇编在那里不起作用。 - Notlikethatvoid useless() {}
很可能会被编译成bx lr
。 - tangrs