gpt4 book ai didi

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

转载 作者:搜寻专家 更新时间:2023-11-01 07:47:36 29 4
gpt4 key购买 nike

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

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

// 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 语言中保证的不变性。

关于java - Android 像 C++ 中的内联汇编一样运行 Dalvik 字节码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40698840/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com