技术问答

问题描述 我有一个Java程序,主要是GUI,它显示了从C ++命令行工具中写入XML文件的数据.现在,我想在Java程序中添加一个按钮以刷新数据.这意味着我的程序必须调用C ++功能. 是通过系统调用从Java调用程序的最佳方法? C ++程序将用于Mac OS和Windows,并且应始终与Java程序相同的目录. 我想生成一个可执行文件的C程序可以存储在JAR中并从我的程序中调用? 推荐答案 假设没有更好的通信方法(肥皂,冰

2023-01-20  309
技术问答

问题描述 我的应用需要使用JNI.逻辑看起来像: void myJniFunc(JNIEnv *env, jclass clazz, jobjectArray items) { int count = 10; struct MyObj *myObjArray = (struct MyObj*)malloc(sizeof(struct MyObj) * count); for (i = 0; i < co

2023-01-20  350
技术问答

问题描述 我们正在对C ++代码进行包装,以接触Java客户端.我已经看过 swig关于异常处理的文档但是这是什么在三层(C ++/swig/java)中以编码术语转换? 如果有人有工作示例或建议,我会很感激. 推荐答案 由于我已经对此进行了努力(请参阅我的个人资料中的博客,在Python,Swig,例外和董事上,但应该有所帮助),让我给您一些建议: 不要将C ++异常发送到Java堆栈.它会崩溃您的应用程序.确保它们都以正确的

2023-01-20  352
技术问答

问题描述 我正在尝试为Android编写代码,这将为我提供处理器的某种信息(ID?)以及线程正在运行的核心. 我已经搜索了一些灵感来源,但没有运气.我所知道的是,我很可能需要一些C/C ++调用. 我的工作量如下: #include <jni.h> int getCpuId() { // missing code return 0; } int getCoreId() { // missin

2023-01-20  322
技术问答

问题描述 Get<PrimitiveType>ArrayElements功能系列记录在复制数组中,或将它们固定在适当的位置(并且这样做,请防止紧凑的垃圾收集器移动它们).它被记录为GetPrimitiveArrayCritical的更安全,限制性的替代品.但是,我想知道哪些VM和/或垃圾收集器(如果有)实际上固定数组而不是复制它们. 推荐答案 Shenandoah支持固定(尽管使用Get*ArrayElements或

2023-01-20  339
技术问答

问题描述 在寻找如何做到这一点时,我发现了一些关于不同选项的模糊讨论,例如JNI vs JNA,但在具体示例中并不多. 上下文:如果java的File.renameTo()无法完成工作(无论出于何种原因; 有点问题),我想回到直接使用此本机Windows函数,该函数在kernel32.dll中定义(来自此答案): ) BOOL WINAPI MoveFile( __in LPCTSTR lpExistingFileName,

2023-01-20  354
技术问答

问题描述 我正在尝试介绍我的JNI应用程序.我可以用来测量功能和/或系统之类的”从启动开始”之类的东西?任何具有1/10毫秒的精度都可以做的. 显然,一个完全本地的功能会更好,我希望不要为我要配置的每件事都调用Java功能,但是如果这是唯一的选择,我也会接受. 推荐答案 clock_getTime().您会在Android-ndk-r5b/samples/hello-neon/jni/helloneon.c

2023-01-20  394
技术问答

问题描述 假设一个包含类的Java库,我们称其为Foo.该类包含一个构造函数和两种方法: // constructor Foo(); // returns a random int public int bar(); // generates a random int "x" and calls integerGenerated(x) public void generateInt(IntGeneratorListenerInt

2023-01-19  313
技术问答

问题描述 您是否听说过带有Java包装的Windows的虚拟操纵杆? 我已经尝试了ppjoy,它效果很好,但是然后我需要使用JNI来从Java开始工作,这似乎并不容易. 谢谢! 推荐答案 您在那里.我为Ppjoy制作了Java包装.而且真的很容易使用.请参阅: try { /* * Try to create a new joystick. */ Joystick joystick = new J

2023-01-19  294
技术问答

问题描述 我正在尝试创建共享库libddv3djava.so i编译了libddv3djava.so的来源: ~/Programming/intellijprojects/ddv3dbindingstest/src $ g++ -c -Wall -Werror -I. -I /usr/lib/jvm/java-8-oracle/include/ -I /usr/lib/jvm/java-8-oracle/include/linu

2023-01-19  371

zblog模板

牛资源