问题标签 [jasmin]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 如何使用 dedexer 解释这个反汇编的行?
以下是在 android 市场应用程序上使用 dedexer 反汇编的 snipcode,在 中,invoke-virtual
我不明白原始 Java 代码是什么:
invoke-virtual {v0},[Lcom/google/android/providers/AbstractGDataSyncAdapter$ClientDiffType;/clone ; clone()Ljava/lang/Object;
[
应该是一个数组,那么它是在类型数组中的元素上调用方法clone
吗com/google/android/providers/AbstractGDataSyncAdapter$ClientDiffType
?那为什么;
在类名和方法名之间有clone
呢?dedexer 本身的错误?
jasmin - 如何在 jasmin 中创建 Hashmap?
我想在 Jasmin 的一个类中创建一个 HashMap,它的等效 Java 将是:
有什么关系
任何帮助,将不胜感激
jvm - FPC/Java 错误:“JAS 错误:第 10039 行的引用超出了简称。”
我正在使用带有 JVM 后端的 Free Pascal 编译一段 Delphi 代码。
如果参与将 Free Pascal 移植到 JVM 后端的人正在阅读这篇文章,那么这是我收到的编译错误消息:
该文件很大(>6000 行),其中的函数也很大。因此,可能有一些资源正在枯竭。有人可以提示我要简化什么来摆脱这个吗?
java - 转换为 Dalvik 失败 - 某处未初始化的变量
我正在尝试将我的 Android 应用程序与使用 Free Pascal 编译的 JAR 链接。我收到以下构建错误:
错误似乎是在某些时候,代码尝试读取未初始化的本地 0009。
现在,Pascal 不强制初始化局部变量。有可能一开始就省略了初始化。我保留了 Free Pascal 为我生成的 JVM 汇编文件。这些与 Jasmin 一起组装到类文件中。该文件很大 - 我不会在这里粘贴它。
有人可以帮我将错误点追溯到源头吗?错误位于字节码偏移量 00015f2c。有没有办法将其转换回汇编文件行号?
android - Dalvik 字节码中的“抛出”和“异常注释”
为什么生成字节码为
而不是.throws Ljava/io/FileNotFoundException
如果一个方法throws FileNotFoundException
在java代码的头文件中声明?
java - 茉莉花黑客和验证错误
我正在玩 jasmin,我尝试启动我的 .class 文件,该文件应该执行简单的字符串连接。我的茉莉源看起来像这样:
现在我可以运行 java -jar jasmin.jar 并获得 default_class.class。但是,当我尝试像 java default_class 一样启动它时,出现错误:
我应该在我的程序集中进行什么更改才能使其正常工作?
java - CLASSPATH 启动一个简单的本地类文件
我的本地目录中有一个 .class 文件,由以下 jasmin 代码组装而成:
当我执行 java -jar jasmin.jar test.j 时,所有内容都会编译并获得 .class 文件,但我无法使用 java default_class 启动它,因为我收到以下错误:
我的 JAVA_HOME 是:
并且类路径仅包含我当前的目录(此 .class 文件所在的位置)。我应该添加一些东西吗?
编辑:我用来启动我的课程的命令是java default_class
EDIT2:好的,我终于弄清楚出了什么问题!类名必须以大写开头!这解决了我的问题!无论如何,感谢所有试图帮助我的人!
jvm - JVM、常量池、堆和地址
如果我在 Jasmin 程序集中创建一个新项目然后存储它,我会使用指令 aload 来执行它,因为它是一个地址:
现在,如果我想从常量池中保存一个字符串……我会用 ldc 创建它,然后也用 aload 保存它:
现在......这些地址的格式和字节数是否相同?由于我使用相同的指令来加载和存储这些项目,JVM 必须能够区分属于常量池的地址和堆中的地址吗?
在检查字节码后,在我的例子中,常量池中的实际地址似乎只是一个 1 字节的索引(我猜对常量池的主要引用也保存在某个地方)......现在我知道那是对常量池中 som UTF8 数据的引用,但它是实际字符串所在的位置,还是只是对其他地方的字节数组的引用?检查堆中“新对象”的地址我一直做不到.....基本上,我需要弄清楚这两个内存区域如何使用相同形式的指令以及JVM如何管理决定地址是常量池中的偏移量还是堆中的对象?
java - 执行 Jasmin 生成的文件 .classes 时出错
我有一个语法 Gram.ge 我必须用 Jasmin 测试它。文件夹目录包含:
- 克
- 代码生成器.java
- 指令.java
- 主.java
- 操作码.java
- 符号表.java
- 类型.java
- 茉莉.jar
- 包含一些程序(例如 A.pas)的库目录非常简单,根据我的语法编写并保存在 .pas
而父文件夹(上面的那个)包含:
- antlr-3.5-complete.jar
然后从命令提示符 (Windows) 我定位到目录并启动以下命令:
java -cp .;../antlr-3.5-complete.jar Org.anltr.Tool Gram.g
javac -cp .;../antlr-3.5-complete.jar *.java
java -cp .;../antlr-3.5-complete.jar Main/Library/A.pas > Output.j
java -jar jasmin.jar 输出.j
java 输出
CodeGenerator.java 文件:导入 java.util.*;
除了生成此错误的最后一个(java 输出)之外,这些命令的执行没有任何问题:
Output.j 文件是:
A.pas 文件是:
错误可能在哪里?谢谢
java - Java 字节码 - 寄存器 1 包含错误的类型
我目前陷入以下问题:
尝试执行下面的代码,我收到“寄存器 1 包含错误类型”的 java 错误。由于我只使用 1 个堆栈块整数,我真的想知道错误类型是如何进入该寄存器的。下面是我的 jasmin-java-bytecode,它编译得很好,但是在执行时会抛出该错误。
.class public HelloWorld .super java/lang/Object
这是生成的错误: