繁体   English   中英

Android在C ++中像内联汇编一样运行Dalvik字节码

[英]Android run Dalvik bytecode like inline assembly in C++

我很好奇是否可以在Java for Android中运行字节码,类似于在使用内联汇编的方式。 在C ++中,我可以运行程序集并在程序中使用其结果。

我不想在运行时但在实际编译apk之前注入字节码。

// example of MSVC-syntax inline-asm syntax; not actually doing anything useful.
__asm { 
       mov bl, 2
       sub bl, 0
       div  bl 
       add   ax, 0
 }

无法在Java中嵌入内联程序集。 Java,已指定语言,该规范不包括内联汇编。 但是,您的Java代码最终会编译为dex文件。

Android平台仅查看dex文件,并不关心它们是如何生成的。 您可以使用诸如smali之类的工具手动编写dex字节码。 此外,此类自定义类可以与从Java或其他语言编译的类自由交互。 但是请注意,Java语言比字节码严格,并且非Java字节码不能保证支持Java语言中保证的不变式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM