catch-Block funktioniert nicht in der nativen C ++ - Bibliothek

9

Ich schreibe eine native Java-Bibliothek in C ++ und benutze die Ausnahmebehandlung innerhalb der nativen Bibliothek selbst, aber die Bibliothek stürzt ab, sobald ich die Ausnahme ausleite. Hier ist mein einfaches Testprogramm, wenn ich es aus dem Java-Test herausrufe, stürzt es einfach ab, sobald eine Ausnahme ausgelöst wird. Der Catch-Block funktioniert nicht. Irgendwelche Ideen was ich vermisse. Danke.

%Vor%

Kompilieren und verknüpfen:

%Vor%     
vkumar 19.10.2012, 17:34
quelle

3 Antworten

1

Ich habe dein Beispiel versucht und alles ist gut gelaufen. Meine Umgebung ist Ubuntu 12.04 (64bit) mit Oracle JDK 1.7.

Also, ich schätze, Ihre Umwelt ist der Schuldige. Da Sie die Option -m64 verwenden, könnte es zu einem Konflikt zwischen 32-Bit-System und 64-Bit-libtest.so kommen.

Bitte verifizieren Sie, dass Ihr System, JDK, GCC usw. alles zusammen passt.

    
Olaf Dietsche 19.10.2012 19:29
quelle
0

Sieht aus wie Ausnahme wurde nicht gefunden. Probieren Sie

aus %Vor%

kann ein Problem mit int size oder etwas sein? Oder hast du vergessen, neu zu kompilieren?

    
Suzan Cioc 19.10.2012 19:29
quelle
0

Wird JNIExport oder JNICALL erweitert, um c-Verknüpfungen zu definieren? Wenn ja, dann werfen Sie eine C ++ - Ausnahme in eine c-Funktion und ich bin mir nicht sicher, ob das Verhalten definiert ist.

versuche vielleicht etwas wie

%Vor%     
dancl 21.11.2012 20:50
quelle

Tags und Links