草庐IT

Hello-Jni

全部标签

java - 通过 JNI 传递、返回和转换为列表的 vector 列表

我需要从Java传递过来List>points;将jni转换为C++并转换为std::vector>处理这个vector并返回List>如何正确传递和返回列表?如何在对象vector的vector中和向后转换对象列表列表? 最佳答案 我用标准工具解决了这个问题。在Java类中创建为对象(O)容器(C)将对象数组(O)从Java代码传递到native部分在C++代码中从数组vector创建计算新vector构建容器数组(C)并插入对象(O)返回容器数组(C)代码实现:在java部分:1-从点列表创建数组在c++部分:2-构建输入vec

c++ - GCC C++ "Hello World"程序 -> .exe 在 Windows 上编译时为 500kb 大。我怎样才能减小它的大小?

我最近才开始学习C++-我正在使用nuwen'sWindows上的MingW版本,使用NetBeans作为IDE(我也有MSVC2008的MSDNAA版本,虽然我不经常使用它)。编译这个简单的程序时:#includeusingnamespacestd;intdog,cat,bird,fish;voidf(intpet){cout我的可执行文件大约有1MB大。当我将项目配置从Debug更改为Release,使用-O1-Os标志(沿途剥离调试符号)时,二进制大小从1MB减少到544KB。我不是“大小怪胎”,但我只是想知道-有没有什么办法可以进一步减小.exe的大小?我只是认为,对于这样一个

c++ - 将 C++ 与 Android ndk/jni 一起使用

所有ndk示例仅使用在header中声明为extern并在cpp文件中定义的基本C函数。然后在包含jni回调的C文件中包含头文件后,一切正常。是否可以在androidndk中使用C++类?我的应用程序不会是原生Activity,它仍然会有一个重要的java部分,但它会调用原生C代码进行CPU密集型计算(已经用C++编写,带有类和其他C++内容)。这是我现在的hello-world结构:文件“first.h”#ifndefFIRST_H#defineFIRST_HclassTest{};#endif/*FIRST_H*/文件“second.cpp”#include#include"fir

c++ - 如何使用NDK?从 'hello world' 应用程序开始

我希望看到一个用C/C++编写但可以在Android上运行的“Helloworld”程序。我知道这可以通过使用NDK和JNI调用来实现。但无法使其工作。没有在线指南有帮助。需要知道才能开始。我正在Windows7机器上进行开发,并且为了方便也使用Eclipse。Android安装路径:C:\ProgramFiles\Android\android-sdk-windows和NDK我已提取到:C:\ProgramFiles\Android\android-ndk-r5如何将NDK导入Eclipse?如何在Android中使用C/C++?如果我能在运行一个简单的“helloworld”时获得

android - 来自 Android JNI 中任何线程的 FindClass

Android的JNI提示页面提到了FAQ:Whydidn'tFindClassfindmyclass?他们提到了多种解决方案,最后一个选项是这个:CacheareferencetotheClassLoaderobjectsomewherehandy,andissueloadClasscallsdirectly.Thisrequiressomeeffort.所以,我试图让它工作,但似乎无论如何,这种方法对我来说根本不起作用。最终,我想出了如何使用ClassLoader但如果我从native线程尝试加载尚未触摸/加载的类,它将无法工作。本质上,它在从native线程调用时的行为与env-

c++ - char数组声明中字符串文字周围的大括号有效吗? (例如 char s[] = {"Hello World"})

我偶然发现chars[]={"HelloWorld"};行已正确编译,并且似乎与chars[]="Hello世界”;。第一个({"HelloWorld"})不是一个包含一个元素的数组,它是一个char数组,所以s的声明应该是char*s[]?事实上,如果我将其更改为char*s[]={"HelloWorld"};编译器也会像预期的那样接受它。寻找答案,我发现唯一提到这个的地方是thisone但没有引用标准。所以我的问题是,为什么行chars[]={"HelloWorld"};编译虽然左侧是arrayofchar类型和右边的类型是arrayofchar?以下是一个工作程序:#includ

c++ - 为什么 const char* const & = "hello"可以编译?

我正在阅读一本书的代码片段并发现:constchar*const&a="hello";//cancompileconstchar*&a="hello";//cannot我所知道的是,在初始化引用时,数组到指针的转换不会发生。constchar*const&,一个const指针的引用,指针指向constchar。constchar*&,一个pointer的引用,指针指向constchar.那为什么要多加一个const,表示指针是一个const,就可以编译呢? 最佳答案 它本质上是遵循这个公式Tconst&a=something_con

go - package code.google.com/p/go.example/hello : exec: "hg": executable file not found in %PATH%. 如何获取远程golang包?

我按照Golang教程http://golang.org/doc/code.html#remote所写的那样做我的环境设置:C:\sbox\go\example>setgoGOPATH=C:\sbox\go\exampleGOROOT=C:\Goexample/文件夹只有src/文件夹:C:\sbox\go\example\|--src\现在我按照描述调用goget并得到一个错误:C:\sbox\go\example>gogetcode.google.com/p/go.example/hello#cd.;hgclone-Uhttps://code.google.com/p/go.exa

http - 为什么我的 Hello World go 服务器被 ApacheBench 压垮了?

packagemainimport("io""net/http")funchello(whttp.ResponseWriter,r*http.Request){io.WriteString(w,"Helloworld!\n")}funcmain(){http.HandleFunc("/",hello)http.ListenAndServe(":8000",nil)}我有几个非常基本的HTTP服务器,它们都存在这个问题。$ab-c1000-n10000http://127.0.0.1:8000/ThisisApacheBench,Version2.3Copyright1996AdamTw

java - 如何在 linux 上为 JNI 应用程序编译动态库?

我正在使用Ubuntu10.10这就是我所做的。Hello.java:classHello{publicnativevoidsayHello();static{System.loadLibrary("hellolib");}publicstaticvoidmain(String[]args){Helloh=newHello();h.sayHello();}}然后我运行以下命令:dierre@cox:~/Scrivania/provajni$javacHello.javadierre@cox:~/Scrivania/provajni$javah-jniHello我已经获得了Hello.c