Tag: codeblocks

Java vs C(运行时)编辑:添加代码

我刚写了一个程序,找到所有带上限的素数。 算法:Eratosthenes筛选。 用C和Java写了两遍。 上限是666014。 出于某种原因,C给出的结果超过2.5秒,而Java在半秒内完成。 细节: C中的数组是char类型 Java中的数组是boolean类型 C IDE:CodeBlocks Java IDE:IntellijIdea社区版 C代码: #include int main() { int n = 666013; int i; int k; char a[n]; for (i = 2; i <= n; i++) a[i] = 0; for (i = 2; i <= n; i++) if ( a[i] == 0 ) { printf("%d\n", i); […]

JNI:在路径上找到了库,但是方法不是(java.lang.UnsatisfiedLinkError)

我正在尝试使用JNI并获取java.lang.UnsatisfiedLinkError。 与其他关于此问题的其他问题不同,我在我的路径上有lib,甚至在删除它时看到exception更改。 我确定我创建的dll有问题,但我不确定是什么。 这是我的java类代码: package com; public class Tune { static { System.loadLibrary(“lala”); } public static void main(String[] args) { Tune j = new Tune(); System.out.println(“2+6=”+j.add(2, 6)); } native public int add(int x,int y); } 这是我的javah生成的头文件的删节部分: /* * Class: com_Tune * Method: add * Signature: (II)I */ JNIEXPORT jint JNICALL Java_com_Tune_add (JNIEnv *, jobject, jint, […]

jni.h:没有这样的文件或目录

我在Windows中使用Code :: Blocks。 我创建了一个dll项目试图获得一些JNI练习。 在javah生成的.h文件中,有#include jni.h,但是当我尝试编译它时,它一直在说jni.h:没有这样的文件或目录。 我认为它与classpath有关,但我不知道它是什么! 它可能设置我必须在Code :: Blocks中更改 有人可以帮我解决一下吗? 非常感谢 /* DO NOT EDIT THIS FILE – it is machine generated */ #include /* Header for class Vector3D */ #ifndef _Included_Vector3D #define _Included_Vector3D #ifdef __cplusplus extern “C” { #endif /* * Class: Vector3D * Method: magnitude * Signature: ()D */ JNIEXPORT jdouble JNICALL […]