eu preciso abrir um arquivo GIGANTESCO de 72MB :shock:
e encontrar uma sequencia de caracteres neste arquivo...
mas o Java não aguentou os 72MB do arquivo e lançou "OutOfMemoryError"
então para contornar vou escrever o código em C... mas o computador onde será instalado o programa é em LINUX e eu não consegui gerar uma dll igual se faz no windows... não sei bem como é... se se chama "*.so"
tentei fazer um HelloWorld mas nao consegui:
gcc -shared HelloWorld.c -o printf.so , aparece o erro abaixo: :?:
HelloWorld.c : In function 'Java_HelloWorld_print'
HelloWorld.c:6: parameter name omitted
HelloWorld.c:6: parameter name omitted
HelloWorld.c:10:3: warning: no newline at end of file
no windows eu consigo gerar a dll numa boa!
#include <jni.h>
#include <stdio.h>
#include "HelloWorldPrintf.h"
JNIEXPORT void JNICALL Java_HelloWorldPrintf_printf
(JNIEnv *, jobject)
{
printf("HelloWorld JNI - Congratulations! ");
return;
}
public class HelloWorldPrintf
{
public native void printf();
static
{
System.loadLibrary("printf");
}
public static void main(String args[])
{
new HelloWorldPrintf().printf();
}
}
se alguém puder me ajudar, eu ainda sou novado no Linux :)
obrigado