jni相关内容
我有一个简单的JNI .DLL,我试图在测试Java应用程序中使用。它是一个 .c 文件,它由一对函数组成,头文件由 javah 生成。 (我正在使用MinGW btw编译) 如果我使用GCC编译并链接此代码,则可以使用System.loadLibrary()加载.DLL,并使用它。如果我使用G ++编译它, loadLibrary()将会失败并显示可怕的“UnsatisfiedLinkEr
..
我试图编译一个使用JNI的Java库。当我启动程序时,我看到一个UnsatisfiedLinkError崩溃,它说DLL中找不到特定的方法。 仔细检查后,我发现我用于编译和链接的g ++通过向方法名称添加后缀(如“@ 8”或“@ 16”)来改变我的方法名称。有没有人知道正确的编译器选项来禁用名称修改?提前感谢! 编辑:我通过Eclipse + CDT插件使用MinGW。 解决方案
..
我试图使用别人的Makefile来编译一个非常简单的c ++库。 makefile文件如下: JNIFLAGS = -O2 -pthread -I / usr / lib / jvm / java-6-sun / include -I / usr / lib / jvm / java-6-sun / include / linux 全部: rm -f ../dist/libUtil
..
尊敬的先生/女士, 我有一个fortran exe文件,它通过对输入文件进行一些操作来获取输入文件并生成输出文件。我能够运行(我认为fortran编译器在linux中是可用的)。现在请建议如何使用java(在Linux机器上)运行这个fortran可执行文件。 我尝试的是, String cmd =“fortranExe arg1 arg2”; // fortranExe
..
我想通过java监视系统上选定目录的变化。我对java 7中的 watchservice 有一些想法。但watchservice只返回发生更改事件(MODIFY,DELETE)的目录名称。另一方面,我希望获得所有有关更改的信息,例如,进行更改的用户,发生更改的时间等。 就像想读取NTFS文件系统上的更改日志一样。 Java中有没有其他方法可以异步记录这些更改? ... 在此先感谢。
..
我支持使用平面文件(纯文本)进行持久性的遗留Java应用程序。由于应用程序的性质,这些文件的大小可以达到每天100 MB,并且应用程序性能的限制因素往往是文件IO。目前,应用程序使用普通的“java.io.FileOutputStream”将数据写入磁盘。 最近,我们已经有几个开发人员断言使用内存映射文件,以本地代码(C / C ++)实现并通过JNI访问,将提供更高的性能。但是,FileO
..
我正在使用使用ffmpeg的Android应用程序。我已经交叉编译ffmpeg,它在大多数设备上都很好。但是在一些三星设备上,我正在加载libffmpeg-neon.so文件时遇到了致命的信号11。 我已经重新编译了ffmpeg和调试符号( - 禁用剥离--enable-debug = 3 和 cflags + = -gstabs + )并且具有堆栈跟踪: 09-24 12:30:4
..
我在ndk的源文件夹中提取了ffmpeg,然后在那里编译它,之后我按照这样做: http://www.roman10.net/2013/08/18/how-to-build-ffmpeg-with-ndk-r9/ 并成功生成 arm / lib 和 arm / include 文件 android 文件夹。 之后我在我的Android项目(src / main / jni文件夹)中的$ ND
..
我尝试过几次在windows-7上使用Android NDK $手动编译FFMPEG b $ b,但从未成功。 所以我认为使用预编译的lib最好,因为我已经在使用与之相同的技术: https://github.com/guardianproject/SSCVideoProto 但是ffmpeg这个项目中的lib非常老了。 任何帮助都非常感谢....... 解决方案 由于
..
我正在开发一种依赖于FFmpeg来检索音频元数据的Android应用程序。我知道可以使用FFMpeg以编程方式检索专辑封面。然而,一旦你解码了艺术(MP3中的一个视频帧),怎么生成一个应用程序中使用的图像文件(PNG)呢?我搜索全部,但似乎找不到一个工作的例子。 编辑,这里是解决方案: #include #include
..
我正在连接Android上的两个视频。我已经在使用ffmpeg来满足其他需求,但是我使用的是 halfninja的一个,只有0.9。 0.9一个不允许以下方法: // filter_complex不被识别 vk .run(new String [] { “ffmpeg”, “-i”, inputFile1, “-i”, inputFile2, “-filter_complex”,
..
我已经从此链接下载github的视频修剪代码。 它第一次工作正常,但是当我第二次尝试运行它时,代码崩溃,没有任何异常,那么当我尝试在第三次运行它之后,再次运行它崩溃它的作品!任何人对这种行为有什么想法? 我还在开发一个具有修剪视频的模块的应用程序。 我真的很感激,如果有人可以帮助我。 解决方案 https://lists.ffmpeg.org/pipermail/libav-
..
我有一个 JAVA 应用程序,因为我想将对象作为参数传递给 C 代码使用 JNI 再次,我想从 C 代码中的对象收到 JAVA 使用 JNI 。 在JAVA方面,我只是创建一个应用程序并将其传递给该方法如下所示 JlibFprint.fp_image_data fpimg = new JlibFprint.fp_image_data(); //对象要传递 // fp_image_d
..
我们正在C ++代码中实现一个包装器,用于暴露于Java客户端。我已经看到有关异常处理的 SWIG文档,但这是什么翻译成三层编码术语(C ++ / SWIG / Java)? 如果有人有工作示例或建议,我将不胜感激。 解决方案 自从我摔跤之后(请参阅我的个人资料中的博客,这是在python,SWIG,例外和导演,但应该有帮助)让我给你几条建议: 不要将C ++异常发送到Java
..
我想要一个一致和简单的方法来在JNI代码中抛出异常;处理链接异常的东西(隐式地从env-> ExceptionOccurred方法,或者由参数显式地,以任一方式是好的),并且每次我想要这样做时,可以节省我查找构造函数。上面所有的都是C,尽管我可以在需要时从C ++翻译它。 有没有人有这样的东西可以分享? 解决方案 我们只是为每个想要抛出的异常类型编写实用程序方法。以下是一些示例:
..
假设我将Sun的JVM嵌入到C ++应用程序中。通过JNI我调用了一个Java方法(我自己的),它依次调用我在一个共享库中实现的本地方法。 如果此本机方法引发C ++异常,会发生什么? 编辑器是gcc 3.4.x, jvm是sun的1.6.20。 解决方案 在JNI文献中,单词异常似乎是专用于引用Java异常。本地代码中的意外事件被称为编程错误。 JNI显然不需要JVM来检查编
..
问 题 本人小白,以前是做Android的,现在刚开始做ndk开发,就我一人,使用的是studio,现在一般的java和c++之间的调用和传参没什么问题,但是现在在做的是一个人脸识别的项目,公司使用的是c++写的代码,c++代码很多,然后使用让我使用jni进行调用里面的方法,但是面临一个头疼的问题,就是,写好头文件之后,现在在拷贝他们的c++代码进来,除了调用的几个函数实现的时候用的是JNI的方
..
问 题 我想在c++中用jni调用java程序的入口main函数,但是这样创建的jvm比直接用javaw命令运行要卡很多,但是jvm参数设置的都是一样的。在c++中运行,fps只有10-30,直接运行jar却能达到50-100。 求教这是什么原因?有什么改进的办法吗? #include using namespace std; extern "C" { __d
..
问 题 Java 方法如下 // 签名: "()[B" public byte[] array(){...} 如何在JNI中调用此方法并获取返回值呢? 我没有找到CallByteArrayMethod这样的函数,求大神指教! 解决方案 可以参考StackOverFlow的同类问题 jobject obj = ... // This is the object yo
..
我正在使用java开发一个屏幕键盘。这个键盘每个可能的键都有一个 JComponent 。当在按钮上检测到鼠标向下时,我想将特定的键盘代码发送到当前焦点的应用程序。键盘本身在一个 JFrame 中,没有装饰,并设置为永远在上。 我发现机器人类可用于模拟本机队列上的这些键盘事件。但是,在这种情况下,选择 JComponent 将意味着在 JFrame 上收到了按键,将无法在其他应用程序中收到它
..