在其中一个项目中,我有一个用 ARM 汇编语言编写的文件,该文件使用 NEON 来优化我正在执行的计算。我还有一个文件,它执行完全相同的操作,只不过它是用 C 编写的。目前,我只是注释掉在程序集中定义的 C 函数,然后添加一个
extern void myFunction();
到 C 文件。我想做的是将其放在 C 文件中
#ifdef device
extern void myFunction();
#else
void myFunction() {
/* code here */
}
#endif
我还需要在汇编文件中添加类似的内容,但我不确定如何在 ARM 汇编中执行预处理器指令。
总而言之,我正在寻找一个预处理器定义,它告诉我我正在构建什么设备以及在汇编中使用预处理器指令的方法。
最佳答案
在你的 C 文件中:
#if defined __arm__
extern void myFunction();
#else
void myFunction() {
/* code here */
}
#endif
在您的程序集文件中:
#if defined __arm__
/* code here */
#endif
(Xcode 也将 C 预处理器应用于 .s 文件)。
关于iphone - 如何在 iOS 设备上编译 ARM 汇编文件和 iOS 模拟器使用常规 C 之间进行选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7033632/