Kurze Antwort: ja.
Aus dem Javadoc für loadLibrary
: "Lädt die Systembibliothek, die durch das Argument libname angegeben wird. Die Art und Weise, in der ein Bibliotheksname der tatsächlichen Systembibliothek zugeordnet ist, hängt vom System ab." System.mapLibraryName(libname)
gibt zurück, was der zugeordnete Bibliotheksname sein wird.
Dies entspricht den allgemeinen Konventionen für Bibliotheksnamen: lib
Präfix in Linux und Mac OS X, kein Präfix in Windows plus plattformabhängige Dateierweiterung. Beachten Sie, dass die Erweiterung für JNI-Bibliotheken unter Mac OS X jnilib
ist, nicht dylib
wie für andere Bibliotheken. Auch diese Zuordnung ist nicht einzigartig für die Java-Laufzeit, gcc ... -lhello
wird auch nach libhello.so
(oder libhello.dylib
unter Mac OS X) suchen.
Wenn Sie nicht über die Laufzeit wollen diese Zuordnung zu tun, würden Sie sich den richtigen Dateinamen einschließlich der Erweiterung bestimmen müssen und übergeben diese an loadLibrary