Habre a fost astfel de articole, dar pentru Windows, și „nu a înțeles“ pentru incepatori ca mine. În principiu, nimic complicat, dar există în cazul în care călătoria și pentru o lungă perioadă de timp pentru a merge în motoarele de căutare, așa cum a fost cu mine.
De ce și cum să utilizați C / C ++ pentru aplicații Java pentru a veni fiecare cu propria lor, opri aici nu vor, cu excepția să spun că atunci când se lucrează cu orice echipament de astfel de pachet poate fi foarte util.
Doar că nu voi intra în nuanțe de tipuri de date, cu excepția să spun că tipurile primitive (cum ar fi JINT sau jdouble) sunt diferite de C ++ nativ pentru exact nimic.
Și așa. Pentru a începe cu câteva cuvinte despre cum funcționează. Vă scriem în codul C ++, de exemplu, o anumită procesare a imaginii, și ne întoarce la numărul de pisoi. Apoi vom compila biblioteca link-ul dinamic și încărcați-l în aplicația noastră în Java, care descarcă imaginea de noi VK. Nu este dificil.
Pentru a apela funcțiile din biblioteca conectată, trebuie să declare metodele corespunzătoare în orice clasă, și marcați-le ca nativ. În continuare se va genera un fișier antet care conține prototipuri funcționale cu semnăturile corespunzătoare.
Header javah obține utilitate din clasa fișierul compilat.
Fișierul antet rezultat, este mai bine să nu-l atingă, pentru că acesta poate fi schimbat atunci când construirea proiectului. Doar inkluda în fișierul cpp și să descrie funcția de acolo, cel mai important, nu face mizerie cu numele de funcții și parametri, este mai bine să copiați sau să-l încredințeze IDE.
Punerea o bibliotecă dinamică.
Steaguri -fPIC -c -shared sunt necesare pentru compilarea corectă.
Rămâne să scrie o clasă în metoda principală Java, compilați-l și rulați aplicația.
Atunci când începe o mașină virtuală indică o cale de director la bibliotecă dinamic în mod implicit va arăta doar pentru căile înregistrate în variabilele de mediu.
Pentru a compila manual fiecare fișier separat, puteți scrie un simplu Makefile, care pot fi folosite mai târziu cu Eclipse