Как и где можно написать коды сборки 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.