小编Ned*_*alm的帖子

不常用的Java语法(JavaParser)?

我正在探索一个Java语法分析器,我遇到了这段奇怪的代码,我通常不会在普通代码中使用它.摘自 https://code.google.com/p/javaparser/source/browse/branches/mavenized/JavaParser/src/main/java/japa/parser/ASTParser.java#1998

它有许多包含代码的函数

final public NameExpr Name() throws ParseException {
    NameExpr ret;
    jj_consume_token(IDENTIFIER);
    ret = new NameExpr(token.beginLine, token.beginColumn, token.endLine, token.endColumn, token.image);
    label_23: while (true) {
        if (jj_2_17(2)) {
            ;
        } else {
            break label_23;
        }
        jj_consume_token(DOT);
        jj_consume_token(IDENTIFIER);
        ret = new QualifiedNameExpr(ret.getBeginLine(), ret.getBeginColumn(), token.endLine, token.endColumn, ret, token.image);
    }
    {
        if (true) {
            return ret;
        }
    }
    throw new Error("Missing return statement in function");
}
Run Code Online (Sandbox Code Playgroud)

一眼看上去很奇怪,但毫无疑问它是有效的,因为我可以编译它.但有人可以解释它是如何工作的吗?我试图输入无效的Java语法,它确实是它的工作!我很困惑.返回后,几行如何抛出异常?

java algorithm syntax syntax-error

9
推荐指数
1
解决办法
215
查看次数

纯控制台 Android 应用程序?

是否可以创建一个将在 Android 模拟器中运行的纯控制台 Android 应用程序?

我的意思是我们可以运行用于控制台输出的经典桌面 Java 应用程序System.out.println,所以我不明白为什么我们不能通过类对 Android 执行相同的操作android.util.Log

在模拟器上执行此操作的优点是可以访问 Android Java 类实现的所需功能。

也许是一个没有ApplicationActivityclass 和AndroidManifest.xml

如何最好地做到这一点?

java logging android console-application android-emulator

8
推荐指数
1
解决办法
8570
查看次数

monodroid .so文件可以管理.NET代码吗?

是否由Xamarin Monodroid(libmonodroid.solibmonosgen-2.0.so)托管代码或本机代码生成.so文件?从这篇SO帖子看来,它们实际上是.NET IL二进制文件(不是本机机器代码).答案甚至建议Xamarin.Android二进制文件是JIT,并且可以在任何.NET反编译器中打开.但是,根据我的调查,这似乎不适用于dotPeak或ILSpy.

但是,另一个SE网站上的这篇文章似乎与此相矛盾.应该注意的是,它们通常指的是Android NDK.那么,是否应该在.NET反编译器或解析器(如Hopper和IDA Pro)上打开本机库(为您提供汇编代码)?

android native decompiler xamarin.android xamarin

2
推荐指数
1
解决办法
355
查看次数