Как и где можно написать коды сборки ARM в Embarcadero Delphi XE5 с Android?

Как и где можно написать коды сборки ARM в Embarcadero Delphi XE5 с Android? Это было бы лучше, если бы я мог написать это в строке.

4 ответа

Мобильный компилятор Delphi не поддерживает asm ... end блоки.

Но "старый добрый путь" все еще доступен, так как речь идет о компиляторе Native.

Что вы можете сделать, это скомпилировать свой собственный модуль с помощью внешнего ассемблера (например, 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';

Взгляните на эту японскую статью - Google Translate - ваш друг!

Это невозможно.

Use Atomic Instrinsics Instead of Assembly Language,

Цитата:

Мобильные компиляторы Delphi не поддерживают встроенный ассемблер.

Мобильные компиляторы Delphi не поддерживают встроенный ассемблер. Документация проясняет это:

Встроенный ассемблер доступен на:

  • DCC32.EXE, компилятор командной строки Delphi
  • DCC64.EXE, 64-разрядный компилятор командной строки Delphi
  • DCCOSX.EXE, кросс-компилятор Delphi для OS X

Вам нужно будет найти ассемблер, чтобы создать что-то, что может использовать мобильный компилятор Delphi, например разделяемую библиотеку.

Ты не можешь.

LLVM, который является движущей силой Delphi Mobile, имеет своего рода язык ассемблера: http://llvm.org/docs/CommandGuide/llvm-as.html Но вряд ли это будет ARM или x86, поскольку LLVM пытается быть независимым от процессора.

В любом случае, Delphi официально не поддерживает ни родной для CPU язык сборки, ни LLVM.

Другие вопросы по тегам