Java’da DLL Kullanımı
DLL (Dinamik Bağlantı Kütüphanesi), diğer programlar tarafından çağrılabilen ve yeniden kullanılabilir kod içeren bir dosyadır. DLL’ler, kod tekrarını azaltmak ve programları daha modüler hale getirmek için kullanılır. Java’da, DLL’ler Java Native Interface (JNI) kullanılarak çağrılabilir.
JNI, Java ve yerel kod arasında bir köprü görevi gören bir dizi API’dir. JNI, Java programlarının yerel kod kitaplıklarını yüklemesine, yerel kod işlevlerini çağırmasına ve yerel veri yapılarını kullanmasına olanak tanır.
Java’da DLL kullanmak için aşağıdaki adımları izleyebilirsiniz:
- DLL’yi bilgisayarınıza indirin.
- DLL’yi Java programınızın classpath’ine ekleyin.
- JNI’yi kullanarak DLL’yi yükleyin.
- JNI’yi kullanarak DLL’deki işlevleri çağırın.
DLL’yi Bilgisayarınıza İndirme
DLL’yi bilgisayarınıza indirmek için üreticinin web sitesini ziyaret edebilirsiniz. Örneğin, Microsoft Visual C++ Redistributable for Visual Studio 2015, 2017 ve 2019 DLL’sini indirmek için aşağıdaki bağlantıyı kullanabilirsiniz:
Microsoft Visual C++ Redistributable for Visual Studio 2015, 2017 ve 2019 DLL’sini İndirin
DLL’yi Java Programınızın Classpath’ine Ekleme
DLL’yi Java programınızın classpath’ine eklemek için aşağıdaki adımları izleyebilirsiniz:
- Java programınızın proje dizinine gidin.
- “build.gradle” dosyasını açın.
- Aşağıdaki satırı “build.gradle” dosyasına ekleyin:
dependencies {
compile 'com.example:my-library:1.0'
}
- “my-library” DLL’nin adıdır.
- “1.0” DLL’nin sürümüdür.
JNI’yi Kullanarak DLL’yi Yükleme
JNI’yi kullanarak DLL’yi yüklemek için aşağıdaki adımları izleyebilirsiniz:
System.loadLibrary()
yöntemini kullanarak DLL’yi yükleyin. Örneğin:
System.loadLibrary("my-library");
- “my-library” DLL’nin adıdır.
JNI’yi Kullanarak DLL’deki İşlevleri Çağırma
JNI’yi kullanarak DLL’deki işlevleri çağırmak için aşağıdaki adımları izleyebilirsiniz:
GetProcAddress()
yöntemini kullanarak işlev adresini alın. Örneğin:
long functionAddress = GetProcAddress(libraryHandle, "myFunction");
- “libraryHandle” DLL’nin yüklenen kütüphane tutacağıdır.
-
“myFunction” çağrılmak istenen işlev adıdır.
-
Invoke()
yöntemini kullanarak işlevi çağırın. Örneğin:
int result = Invoke(functionAddress, ...);
- “…” işlev argümanlarıdır.
Üretici Firması
Microsoft
Ücretsiz mi?
Evet
Uyumlu İşletim Sistemleri
Windows, Linux, macOS
Dosya Boyutu
32-bit: 1.4 MB
64-bit: 2.8 MB