delphi - 如何以及在哪里可以在使用 Android 的 Embarcadero Delphi XE5 中编写 ARM 汇编代码?

标签 delphi mobile assembly arm llvm

如何以及在哪里可以在使用 Android 的 Embarcadero Delphi XE5 中编写 ARM 汇编代码? 如果我能内联编写那就最好了。

最佳答案

Delphi 移动编译器不支持 asm ... end block 。

但是“旧的好方法”仍然可用,因为我们正在谈论 native 编译器。

你能做的是compile your own module with an external assembler (例如 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';

看看at this Japanese article - 谷歌翻译是你的 friend !

关于delphi - 如何以及在哪里可以在使用 Android 的 Embarcadero Delphi XE5 中编写 ARM 汇编代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19923593/

相关文章:

c - 开关盒 assembly 级代码

c - 尝试制作自己的加载器,但无法实现数据部分

delphi - 如何区分 TStringList 中的 Pointer 和 TObject 条目?

windows - 如何国际化 Delphi 应用程序

delphi - 如何在富编辑(Delphi)中左/右对齐行?

delphi - 访问FMX样式对象的事件处理程序

java - java me中有没有和 Rectangle 类似的类?

angularjs - 使用 cordova 存储本地数据的最佳方式是什么?

assembly - XCHG 在 8086 处理器中是如何实现的?

jQuery函数在移动设备的新窗口中打开链接