首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在dalvik中,哪个表达式会生成指令'not-int‘和’const-string/头‘?

在dalvik中,哪个表达式会生成指令'not-int‘和’const-string/头‘?
EN

Stack Overflow用户
提问于 2013-11-15 01:24:28
回答 1查看 1.9K关注 0票数 1

我是学习达尔维克的新手,我想把达尔维克的每一条指令都扔掉。但是无论我如何编写代码,仍然有3条指令是我无法得到的。它们是‘不-int’,‘不-长’,‘const-string/巨量’。

我这样写是为了得到“不-int”,但失败了:

代码语言:javascript
复制
int y = ~x;

Dalvik生成了一个'xor x,-1‘。

我知道‘const-string/ code’意味着代码中有超过65535个字符串,索引是32位。但是当我在代码中删除70000个字符串时,编译器说代码太长了。

因此,问题是:如何通过java代码在dalvik中获得'not-int‘和’const-string/巨无霸‘?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-15 07:15:36

const-string/jumbo很容易。正如您所指出的,您只需要定义65535多个字符串,并引用后面的一个字符串。它们并不都需要在一个类文件中,只是在同一个DEX文件中。

看看dalvik/test/056-const-string-巨无霸,特别是生成包含大量字符串的Java源文件的“构建”脚本。

not-intnot-long而言,我不认为它们是生成的。我在一堆Android4.4APK上运行了dexdump -d,没有找到任何一个实例。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19991833

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档