JAVA ile native kullanmak |
Yanıt Yaz |
Yazar | |
aziz.alkurt
Admin Group Kayıt Tarihi: 27.Ocak.2012 Bulundugu Yer: FETHİYE Online: Sitede Değil Gönderilenler: 26 |
Alıntı Cevapla
Konu: JAVA ile native kullanmak Gönderim Zamanı: 24.Subat.2013 Saat 06:26 |
Rica ederim. Faydalı olmabilmişsem ne mutlu bana
|
|
turknetyazilim
Üye Profili
Özel Mesaj Yolla
Bu kullanıcıya ait mesajları bul
Üyenin Web Sitesie Git
Arkadaş Listeme Ekle
Moderator Group Kayıt Tarihi: 18.Ocak.2008 Bulundugu Yer: Balıkesir Online: Sitede Değil Gönderilenler: 214 |
Alıntı Cevapla Gönderim Zamanı: 24.Subat.2013 Saat 02:02 |
Eline sağlık...
|
|
aziz.alkurt
Admin Group Kayıt Tarihi: 27.Ocak.2012 Bulundugu Yer: FETHİYE Online: Sitede Değil Gönderilenler: 26 |
Alıntı Cevapla Gönderim Zamanı: 22.Subat.2013 Saat 17:38 |
Visual Studio için
C++ boş "test" adlı bir proje oluşturalım. İçerisine "test.cpp" adında bir dosya açalım. Projeye sağ tıklayıp properties>C\C++>General>Additional include Directories kısmına (java programlama için JDK kurulmuş olması gerekir.) "C:\Program Files (x86)\Java\jdk1.6.0_38\include" ve "C:\Program Files (x86)\Java\jdk1.6.0_38\include\win32" eklediğimiz zaman "test.cpp" dosyası içersinde #include "jni.h" yapabiliriz. Birde "properties>C\C++>Code Generation" bölümünde Runtime Library kısmını "Multi Thread/MT" yaparsanız, oluşturduğunuz dll execude yapılırken C++ 2010 gibi kütüphanelere ihtiyaç duymaz. "test.cpp" kodu için ----------------------------------------------------------------------------------------- #include "jni.h" #include <string.h> extern "C" { JNIEXPORT jbyteArray Java_datakent_test_getStringBytes(JNIEnv *env, jclass clazz,jstring sx) { const char *sxx= env->GetStringUTFChars(sx, NULL); jbyteArray result=env->NewByteArray(strlen(sxx)); env->SetByteArrayRegion( result, 0,strlen(sxx), (const jbyte*)sxx); return result; } } ----------------------------------------------------------------------------------------- kodu derleyip d:/test.dll yaptık java tarafı ----------------------------------------------------------------------------------------- class datakent.test { static native byte[] getStringBytes(String sx); public static void main(String []xx) { System.load("d:/test.dll"); byte []cc=getStringBytes("Hello World!"); for(byte c : cc) System.out.print("%02X",c); } } ----------------------------------------------------------------------------------------- |
|
Yanıt Yaz |
Forum Atla | Forum İzinleri Kapalı Foruma Yeni Konu Gönderme Kapalı Forumdaki Konulara Cevap Yazma Kapalı Forumda Cevapları Silme Kapalı Forumdaki Cevapları Düzenleme Kapalı Forumda Anket Açma Kapalı Forumda Anketlerde Oy Kullanma |