Tag: java

快速串口从处理写入Arduino

我需要一些帮助来加速写入串口。 我发现了一些类似的问题,但没有涉及处理语言或Java,所以我希望有人可以帮我解决这个问题。 编辑 正如John在下面指出的那样,看起来串行的速度还不够快,无法以我想要的速度发送这么多数据。 有谁知道其他可用的arduino接口? 结束编辑 我正在使用arduino来控制我连接的400个RGB LED的网格。 为了向arduino发送命令,我在Processing中编写了一个小程序来操作代表LED的大型数组。 然后我尝试通过串行发送800字节的数据,每隔20分钟以115200波特率向arduino发送更新网格。 每20ms调用的处理代码是: noStroke(); int dataPos = 0; // position in LED data array byte[] dataLedGrid = new byte[400*2]; // array for bytes to send for(int j=0; j<LEDS_TALL; j++) { for(int i=0; i<LEDS_WIDE; i++) { int pos = j*20+i; int r = ledGrid[LEDS_WIDE-i-1][LEDS_TALL-j-1][0], g = ledGrid[LEDS_WIDE-i-1][LEDS_TALL-j-1][1] ,b […]

用调试信息反编译C代码?

Java和Python字节代码比C / C ++编译器生成的编译机器代码相对容易反编译。 我无法找到一个令人信服的答案,为什么来自-g选项的信息不足以进行反编译,但足以进行调试? Python / Java字节代码中包含的额外内容是什么,这使得反编译变得容易?

在运行期间,评论可以有什么不同吗?

阅读这篇评论的最佳评论是什么 ,赞成了201次: 很久以前,我偶然通过添加注释修复了Java3D中的段错误。 它是100%可重复的; 如果我删除了评论,它就会崩溃。 只要评论在那里,它运作良好。 我认为这是一个奇怪的计时问题,但我从来没有弄清楚究竟发生了什么。 这可能吗? 如果他正在修复Java3D中的段错误,我猜他正在用Java或C / C ++编写代码。 我认为在任何一种语言中,评论都会在编译之前被删除……

从C语言调用Java函数

我想从c代码调用java函数。 我在http://www.ishaanguliani.com/content/calling-java-functions-c-linux-ubuntu-jni的示例中讨论过JNI 。 我使用相同的代码并遵循相同的步骤,但我无法找到类打印。 我调试但我没找到我做错了什么。 在这里分享我的代码 unions@universe:~/uni_tmp/jni/vvn$ cat MyC.c #include #include #include “MyJava.h” #include JNIEnv* create_vm(JavaVM ** jvm) { JNIEnv *env; JavaVMInitArgs vm_args; JavaVMOption options; options.optionString = “-Djava.class.path=./”; //Path to the java source code vm_args.version = JNI_VERSION_1_6; //JDK version. This indicates version 1.6 vm_args.nOptions = 1; vm_args.options = &options; vm_args.ignoreUnrecognized = 0; int ret = […]

JAVA JNI C调试器

是否有任何调试器可以帮助调试Java JNI程序和C库? 我应该能够从Java中的static void main开始调试程序,并继续调试并在本机c函数中放置断点,然后在控制从C传输到Java之后继续在Java中调试。

Matrix转换从Java移植到C,不兼容的类型问题

我必须在C中移植一些Java方法,有一个Java背景但我在C编程中是一个总的菜鸟 在java中 float[][] traspose(float Xy[][]) { float result[][]=new float[5000][3000]; for(int i = 0; i < m; i++) { for(int j = 0; j < n; j++) { result[i][j] = Xy[j][i]; } } return result; } 我的C移植尝试 float traspose(int m, int n, float Xy[m][n]) { int i,j; float result[5000][3000]; for(i = 0; i < m; i++) […]

有没有为Delphi(Win32)DLL创建C头文件的工具?

到目前为止,我只看到了为给定的C头文件创建Delphi代码的工具和一些信息。 但是,在’Delphi first’的情况下,有一个Delphi接口声明和一个生成的DLL,没有C头。 是否有工具可以提取必要的信息并为DLL构建C头文件? 这样的工具可以在跨语言/跨平台项目中提供帮助并节省时间。 例如,使用C头文件,使用jnaerator自动创建Java JNA绑定代码会更容易。 工具链看起来像这样: Delphi源码 – >创建C头 – >转换为Java绑定 – >使用Java中的Delphi DLL

Java在C中易变?

我知道在Java中使用volatile 。 那是(基于维基百科的文章 ): 对volatile变量的读写有一个全局排序。 这意味着访问volatile字段的每个线程将在继续之前读取其当前值,而不是(可能)使用缓存值。 我也知道在C中存在volatile关键字,但在完全不同的上下文中,主要用于内存映射I / O. 所以我想知道,是否有一些像Java在C中volatile构造? 哪个会阻止读取变量的缓存值? 如果它不存在于C中,是否有一个带有这样的结构的库,比如pthread ?

通过JNI / DLL或EXE执行本机代码?

我们有一个本机应用程序,我们可以通过JNI-> DLL或通过命令行参数调用EXE来访问。 哪种方法最好? 我们将每天调用此方法大约100次。 表现并不是非常重要。 这个原生应用程序是由我们公司以外的团队开发的,所以我们不太熟悉代码(尽管我们拥有它)。 EXE路线似乎更容易,更直接(特别是因为我们没有使用很多C)。 另外,如果你的DLL代码有内存泄漏或遇到其他一些麻烦,我会收集JNI,你可以崩溃你的JVM。

以编程方式使用C,C ++或Java获取Java和Flash的版本号

我想找到计算机上安装的当前Java版本的版本号以及任何具有闪存的给定Web浏览器上安装的Flash的当前版本。 有没有办法使用Java,C或C ++来做到这一点? 如果是这样,我应该研究哪个类/库?