有没有办法在Objective C程序中使用汇编代码。我正在为OSX开发应用程序,希望能够在Objective C代码旁边使用汇编代码。我在互联网上搜索并找到了这个,但我无法成功实现任何这些方法。非常感谢您的帮助。
当然可以。
您可以像在C语言中使用一样,在Objective-C中使用GCC风格的内嵌汇编。您还可以在汇编源文件中定义函数,并从Objective-C中调用它们。下面是一个简单的内嵌汇编示例:
int foo(int x, int y) {
__asm("add %1, %0" : "+r" (x) : "r" (y));
return x;
}
下面是如何使用单独的汇编文件的简单示例:
** myOperation.h **
int myOperation(int x, int y);
** myOperation.s **
.text
.globl _myOperation
_myOperation:
add %esi, %edi // add x and y
mov %edi, %eax // move result to correct register for return value
ret
** foo.c **
#include "myOperation.h" // include header for declaration of myOperation
...
int x = 1, y = 2;
int z = myOperation(x, y); // call function defined in myOperation.s