如何以及在何处使用 Android 在 Embarcadero Delphi XE5 中编写 ARM 汇编代码?如果我可以内联写,那将是最好的。
问问题
1186 次
4 回答
7
Delphi 移动编译器不支持这些asm ... end
块。
但是“旧的好方法”仍然可用,因为我们正在谈论本机编译器。
您可以使用外部汇编程序(例如 GNU AS)编译您自己的模块,然后将其链接到您的 Delphi XE* 应用程序。
例如,System.RTTI
通过外部静态链接文件使用低级 asm 技巧:
procedure RawInvoke(CodeAddress: Pointer; ParamBlock: PParamBlock);
external 'librtlhelper.a' name 'rtti_raw_invoke';
procedure RawIntercept;
external 'librtlhelper.a' name 'rtti_raw_intercept';
看看这篇日语文章- 谷歌翻译是你的朋友!
于 2013-11-12T09:13:52.573 回答
2
于 2013-11-12T08:48:48.270 回答
1
你不能。
LLVM - 这是 Delphi Mobile 背后的引擎 - 有一种汇编语言: http: //llvm.org/docs/CommandGuide/llvm-as.html 但它几乎不会是 ARM 类型或 x86 类型,因为 LLVM 试图与 CPU 无关。
无论如何,Delphi 官方既不支持 CPU-native 汇编语言也不支持 LLVM 之类的。
于 2013-11-12T08:47:27.707 回答
1
Delphi 移动编译器不支持内联汇编。文档清楚地说明了这一点:
内联汇编器可用于:
- DCC32.EXE,Delphi 命令行编译器
- DCC64.EXE,Delphi 64 位命令行编译器
- DCCOSX.EXE,用于 OS X 的 Delphi 交叉编译器
您需要找到一个汇编器来创建 Delphi 移动编译器可以使用的东西,例如共享库。
于 2013-11-12T08:47:22.200 回答