xcode - 如何在 XCode/clang 中为 iPhone 编译独立的 ARM 程序集文件

标签 xcode assembly arm

任何人都可以提供一个简单的示例,说明如何使用 llvm 4.1 编译器在 XCode 4.5 for iPhone 中编译和链接独立 ARM 程序集文件(.s 文件)中的函数吗?换句话说,带有默认编译器的最新 XCode。

我正在尝试从 .cc 或 .mm 文件(均与 cplusplus 兼容)调用 ARM 汇编函数。

我想将此文件放入 iPhone 的 XCode 模板项目之一(例如 OpenGL 游戏)并调用其中定义的函数(比如将输入 int 加 1 并返回值的函数)。

我试过这个例子: Compile Arm Assembly directly in XCode

当我尝试使用此帖子中的代码时,出现链接器故障: 体系结构 armv7 的 undefined symbol : “add_in_asm(int)”,引用自:

非常感谢。

最佳答案

由于您使用的是 C++/ObjC++,链接器将找不到 C 名称,除非它被声明为 C 名称。 因此,您应该将您的函数声明为

extern "C" int myfunction(...); // or what signature ever...

关于xcode - 如何在 XCode/clang 中为 iPhone 编译独立的 ARM 程序集文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13663622/

相关文章:

windows-mobile - 获取 ARM 汇编中的 PC 值

c - 处理 ARM 芯片的保留寄存器位

objective-c - iPad 模拟器崩溃, "NSInvalidArgumentException"

ios - 子项目找不到通过 Pods 安装的 Swift 模块

assembly - A64指令末尾的感叹号是什么意思?

assembly - NASM 引导加载程序中的 jmp $

assembly - 添加 4 位数字并显示总和 - 汇编语言

qt - 为 Pandaboard 交叉编译 Qt

ios - 用于开发配置文件的通配符应用程序 ID/"No Code Signing Identity Found"

ios - 如何通过 ImagePickerViewController 获取录制视频的 Assets url?