如何在 iOS 设备上编译 ARM 汇编文件和 iOS 模拟器使用常规 C 之间进行选择
在其中一个项目中,我有一个用 ARM 汇编语言编写的文件,该文件使用 NEON 来优化我正在执行的计算。我还有一个文件,它执行完全相同的操作,只不过它是用 C 编写的。目前,我只是注释掉汇编中定义的 C 函数,然后将 a 添加
extern void myFunction();
到 C 文件中。我想做的是将其放在 C 文件中,
#ifdef device
extern void myFunction();
#else
void myFunction() {
/* code here */
}
#endif
我还需要在汇编文件中包含类似的内容,但我不确定如何在 ARM 汇编中执行预处理器指令。
总而言之,我正在寻找一个预处理器定义,它告诉我我正在构建什么设备以及在汇编中使用预处理器指令的方法。
In one of projects I have a file written in ARM assembly that uses NEON to optimize a calculation I am doing it. I also have a file that does the exact same thing except that it is written in C. Currently I just comment out the C functions that are being defined in assembly and just add a
extern void myFunction();
to the C file. What i would like to do is have this in the C file
#ifdef device
extern void myFunction();
#else
void myFunction() {
/* code here */
}
#endif
I would also need something similar in the assembly file but im not sure how to do preprocessor directives in ARM assembly.
So to sum all this up im looking for a preprocessor definition that tells me what device im am building for and a way to use preprocessor directives in assembly.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在您的 C 文件中:
在您的汇编文件中:
(Xcode 也将 C 预处理器应用于 .s 文件)。
In your C file:
In your assembly file:
(Xcode applies the C preprocessor to .s files as well).