草庐IT

Hello-Jni

全部标签

java - 如何让 SLF4J "Hello World"与 log4j 一起使用?

SLF4J中的“HelloWorld”示例不适合我。我想这是因为我将slf4j-log4添加到了我的类路径中。我应该直接配置log4j以使helloworld工作吗?log4j:WARNNoappenderscouldbefoundforlogger(HelloWorld).log4j:WARNPleaseinitializethelog4jsystemproperly.log4j:WARNSeehttp://logging.apache.org/log4j/1.2/faq.html#noconfigformoreinfo.更新:我添加了log4j初始化,还是不行:publicstat

java - 进行 JNI 调用的定量开销是多少?

仅基于性能,大约有多少“简单”的java行相当于进行JNI调用的性能损失?或者尝试用更具体的方式表达问题,比如简单的java操作someIntVar1=someIntVar2+someIntVar3;获得了1的“CPU工作”索引,那么进行JNI调用的开销的典型(大致)“CPU工作”索引是多少?这个问题忽略了等待native代码执行所花费的时间。用电话术语来说,严格来说是通话的“降旗”部分,而不是“通话率”。问这个问题的原因是当您知道native成本(来自直接测试)和给定操作的java成本时,有一个“经验法则”来知道何时尝试编写JNI调用。它可以帮助您快速避免编码JNI调用的麻烦,结果发

java - 在 Java 中的空格上拆分字符串,除非在引号之间(即将\"hello world\"视为一个标记)

这个问题在这里已经有了答案:TokenizingaStringbutignoringdelimiterswithinquotes(13个回答)关闭6年前。如何将String按空格分割,但把带引号的子串当作一个单词?例子:Location"Welcometoindia"BangaloreChannai"ITcity"Mysore它应该存储在ArrayList作为LocationWelcometoindiaBangaloreChannaiITcityMysore 最佳答案 方法如下:Stringstr="Location\"Welcom

java - 无法创建新的 Maven hello-world 项目

我正在看一些maven教程视频,然后在安装maven后遇到了这个命令:mvnarchetype:create-DgroupId=com.di.maven-DartifactId=hello-world构建失败并抛出以下错误:Failedtoexecutegoalorg.apache.maven.plugins:maven-archetype-plugin:2.3:create(default-cli)onprojectstandalone-pom:Unabletoparseconfigurationofmojoorg.apache.maven.plugins:maven-archety

java - 如何在 JNI 中将 C 结构来回传递给 Java 代码?

我有一些通过JNI调用的C函数,它们带有一个指向结构的指针,还有一些其他函数将分配/释放指向相同类型结构的指针,这样处理起来更容易一些用我的包装。令人惊讶的是,JNI文档很少提及如何处理C结构。我的C头文件如下所示:typedefstruct_MyStruct{floatmember;}MyStruct;MyStruct*createNewMyStruct();voidprocessData(int*data,intnumObjects,MyStruct*arguments);相应的JNIC包装文件包含:JNIEXPORTjobjectJNICALLJava_com_myorg_MyJ

java - 如何找到 jni.h?

在Ubuntu12.04中,我安装了来自sun/oracle的jdk7。当locatejni.h,它会打印多个位置/usr/lib/jvm/java-6-openjdk-amd64/include/jni.h/usr/lib/jvm/jdk1.7.0_07/include/jni.h...在JDK生成的头文件中,有include,目前它提示fatalerror:jni.h:Nosuchfileordirectory.在我的Makefile,没有指定位置jni.h是。我在问是否可以配置某些系统参数来制作jni.h的路径(比如/usr/lib/jvm/jdk1.7.0_07/include

android - Android Studio 中的 JNI 和 Gradle

我正在尝试将native代码添加到我的应用程序中。我在../main/jni中拥有一切,就像在我的Eclipse项目中一样。我已将ndk.dir=...添加到我的local.properties。我还没有做任何其他事情(我不确定实际上还需要什么,所以如果我错过了一些事情,请告诉我)。当我尝试构建时,出现此错误:Executionfailedfortask':app:compileDebugNdk'.>com.android.ide.common.internal.LoggedErrorException:Failedtoruncommand:/Users/me/android-ndk-

android - 如何捕获 SIGSEGV(段错误)并在 Android 上的 JNI 下获取堆栈跟踪?

我要搬家aproject到新的AndroidNativeDevelopmentKit(即JNI)并且我想捕获SIGSEGV,如果它发生(可能还有SIGILL,SIGABRT,SIGFPE),以便呈现一个很好的崩溃报告对话框,而不是(或之前)当前的发生:进程立即意外死亡,并且操作系统可能尝试重新启动它。(编辑:JVM/DalvikVM捕获信号并记录堆栈跟踪和其他有用信息;我只是想为用户提供将这些信息通过电子邮件发送给我的选项。)情况是:我没有编写的大量C代码在这个应用程序中完成了大部分工作(所有游戏逻辑),虽然它在许多其他平台上经过了很好的测试,但我完全有可能,在我的Android端口中

javascript - 寻找 Mongoose "hello world"示例

更新:有一段时间了。但当时决定不使用Mongoose。主要原因是我们在使用mongo和javascript时无法真正找到使用ORM的充分理由。我一直在尝试使用Mongoose创建一个数据库/模型,它基本上只是一个用户名唯一的用户数据库。听起来很简单,但由于某种原因,我一直无法这样做。到目前为止,我得到的是这样的:varmongoose=require('mongoose').Mongoose,db=mongoose.connect('mongodb://localhost/db');mongoose.model('User',{properties:['name','age'],cas

java - 对于包含名为 "Node"的类的 JNI C++ 代码,JVM 无法按预期工作

我自己和一些队友一直无法理解为什么以下代码片段在使用JVM版本1.6u23到1.6u31(截至本文发布时的最新版本)时不会给出正确的输出。此代码片段代表了一个更大问题的简化:更新:稍微修改了示例,将重点放在“virtual_function()”似乎没有被调用的问题上。更新:根据迄今为止的评论进一步简化了示例。NodeTester.cpp:#include#includeclassNode{public:Node():m_counter(0){}virtual~Node(){}virtualvoidvirtual_function(){m_counter+=10;}voidnon_vi