小编Sha*_* Lu的帖子

JNI:将unsigned int转换为jint

如何将unsigned int转换为jint?我是否必须完全转换它,或者我可以在没有任何特殊处理的情况下退回它?这基本上是我的代码,但我无法测试它,因为我没有在本地设置JNI.

JNIEXPORT jint JNICALL
Java_test_test(JNIEnv* env, jobject obj, jlong ptr)
{
    MyObject* m = (MyObject*) ptr; 
    unsigned int i = m->get(); 
    return i; 
}
Run Code Online (Sandbox Code Playgroud)

c++ java java-native-interface unsigned-integer

19
推荐指数
3
解决办法
3万
查看次数

如何解决转移/减少冲突?

我正在使用CUP来创建我的论文所需的解析器.我的语法中有一个转移/减少冲突.我有这个制作规则:

command ::= IDENTIFIER | IDENTIFIER LPAREN parlist RPAREN;
Run Code Online (Sandbox Code Playgroud)

我有这个警告:

Warning : *** Shift/Reduce conflict found in state #3
between command ::= IDENTIFIER (*) 
and     command ::= IDENTIFIER (*) LPAREN parlist RPAREN 
under symbol LPAREN
Run Code Online (Sandbox Code Playgroud)

现在,我实际上是想让它转移,所以我很好,但我的教授告诉我找到解决冲突的方法.我瞎了.我总是读到if/else冲突但对我来说似乎并非如此.你能帮助我吗?

PS:IDENTIFIER,LPAREN"("和RPAREN")"是终端,parlist和命令不是.

grammar lalr shift-reduce-conflict

8
推荐指数
2
解决办法
2万
查看次数