3

任何人都可以提供一个简单的示例,说明如何使用 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 的未定义符号:“add_in_asm(int)”,引用自:

非常感谢。

4

1 回答 1

2

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

extern "C" int myfunction(...); // or what signature ever...
于 2012-12-01T21:39:14.220 回答