草庐IT

JNI_ASSERT

全部标签

java - 使用 JNA 或 JNI 模拟在 Windows 中按下的键

我想用Java模拟按键。其他人使用Robot尝试过此操作。这只允许原子按键,我想在其中模拟按键保持(比如一秒钟)和释放。所以,我需要使用JNA或JNI。我调查了JNative,但这似乎是为了在操作系统级别使用关键事件,而不是在操作系统级别生成它们。我如何从Java生成此类事件?谢谢 最佳答案 实际上,使用Robot,您可以按住一个键一秒钟。Robotr=...r.keyPress(KeyEvent.VK_A);Thread.sleep(1000);r.keyRelease(KeyEvent.VK_A);

java - 我必须使用 JNI 分离附加线程吗?

我有一些native线程需要调用Java。为此,我需要使用AttachCurrentThread将线程附加到VM。由于此回调会经常发生,因此线程可能应该保持连接状态。多次调用AttachCurrentThread没问题(“尝试附加已附加的线程是空操作。”)我是否必须在线程退出前调用DetachCurrentThread,它会自动发生,还是根本不需要?如果我必须调用detach但没有调用,会发生什么情况?它会只是“泄漏”,还是会破坏VM状态?我已经检查了JavaNativeInterface规范,但是要么错过了这个,要么它真的是未指定的。我的问题特别适用于WindowsXP上的SunJD

c++ - 对 `JNI_CreateJavaVM' 窗口的 undefined reference

我正在尝试熟悉JNIAPI,但无法获得要编译的示例C++程序。我得到了相同的示例在linux中编译和运行(在下面的链接中发布问题之后)但无法在Windows中编译它;我正在使用mingwg++。我已将所有包含路径更改为Windows路径,并且jni.h在编译时定位,但不是jvm.dll。undefinedreferenceto`JNI_CreateJavaVM'linux以下是我尝试用来编译的命令:g++-g-I"C:\ProgramFiles(x86)\Java\jdk1.7.0_21\include"-I"C:\ProgramFiles(x86)\Java\jdk1.7.0_21\

android - "Your APP_BUILD_SCRIPT points to an unknown file: ./jni/Android.mk"

我搜索了整个网络(我认为)。和它说的我试过但仍然没有运气不工作。我在cygwin和windows下测试它这是我的项目文件/目录:D:\Java_2\workspace_indigo\JniTest\.classpathD:\Java_2\workspace_indigo\JniTest\.projectD:\Java_2\workspace_indigo\JniTest\AndroidManifest.xmlD:\Java_2\workspace_indigo\JniTest\assetsD:\Java_2\workspace_indigo\JniTest\binD:\Java_2\w

Spring数据redis java.lang.NoSuchMethodError : org. springframework.util.Assert.isTrue(ZLjava/util/function/Supplier;)V

我将spring5.0.5.RELEASE与spring-data-redis2.0.6.RELEASE与redis-clients2.9.0一起使用,但出现以下异常:java.lang.NoSuchMethodError:org.springframework.util.Assert.isTrue(ZLjava/util/function/Supplier;)V如果我将sping-data-redis的版​​本降级到java.lang.NoSuchMethodError:org.springframework.core.serializer.support.Deserializing

Android JNI详解

目录一、前言:二、JNI简介三、JNI函数注册3.1静态注册:3.2动态注册四、函数签名 4.1什么是函数签名:4.2为什么需要函数的签名:4.3如何获取函数的签名五、JNIEnv5.1何为JNIEnv:5.2通过JNIEnv调用java对象方法5.3跨线程如何调用java方法六、垃圾回收一、前言:    本篇文章是针对android开发过程中的使用的jni技术做一些的原理上的解析,不再介绍具体的jni的使用,关于如何在android中使用jni开发的教程可以去网上搜索然后自行尝试。本篇文章主要介绍的比如jni函数的注册、jni和java层的线程映射关系等二、JNI简介    2.1JNI是J

Android JNI详解

目录一、前言:二、JNI简介三、JNI函数注册3.1静态注册:3.2动态注册四、函数签名 4.1什么是函数签名:4.2为什么需要函数的签名:4.3如何获取函数的签名五、JNIEnv5.1何为JNIEnv:5.2通过JNIEnv调用java对象方法5.3跨线程如何调用java方法六、垃圾回收一、前言:    本篇文章是针对android开发过程中的使用的jni技术做一些的原理上的解析,不再介绍具体的jni的使用,关于如何在android中使用jni开发的教程可以去网上搜索然后自行尝试。本篇文章主要介绍的比如jni函数的注册、jni和java层的线程映射关系等二、JNI简介    2.1JNI是J

swift - swift 中的 Assert 和 Precondition 参数

根据apple文档中的定义,assert和precondition具有以下签名:assert(_:_:file:line:)precondition(_:_:file:line:)但是在编程时我没有找到使用file和line参数的方法。为什么实际使用它们?虽然条件失败了,但我没有在控制台中找到任何文件或行号。 最佳答案 这两个参数是swift编译器默认的,所以你不需要为它们提供任何值。事实上,您不应提供它们以避免报告不正确。以下是如何报告先决条件失败的示例:请注意文件名MyPlayground.playground和行号5是如何自动

ios - 在 guard 语句的 else block 中使用 assert

我在GoogleAnalytics的实现说明中遇到了这个问题:guardletgai=GAI.sharedInstance()else{assert(false,"GoogleAnalyticsnotconfiguredcorrectly")}我从来没有想过可以在else子句中有一个断言,而不返回。这对我来说没有意义,因为断言只会在测试方案中进行评估。那么,为什么编译器不警告它没有返回(在发布版本的情况下)。编辑:这是在函数application(_:didFinishLaunchingWithOptions)->Bool中编辑2:我发现的其他信息可以回答它:Unfortunately

java - 通过 JNI 更快的 Math.exp()?

我需要经常从java计算Math.exp(),是否有可能让native版本比java的Math运行得更快.exp()??我只尝试了jni+C,但它比普通的java慢。 最佳答案 这已经被要求多次(参见例如here)。这是Math.exp()的近似值,复制自thisblogposting:publicstaticdoubleexp(doubleval){finallongtmp=(long)(1512775*val+(1072693248-60801));returnDouble.longBitsToDouble(tmp它基本上与具有