JNI-módszer aláírás java, Intel® szoftver


Például a Java módszer:
hosszú f (int n, s karakterlánc, int [] arr);

az alábbi típusú aláírás:
(ILjava / Lang / string; [I) J

Hmm. nem sok, és nem nagyon világos. Megpróbálom leírni a saját szavait.

JNI aláírás egy listát tartalmaz fajta formális paraméterek és visszatérési típusa. A felvételi formátum hasonló Pascal-szerű módszerrel meghatározások: az első, majd a paramétereket a visszatérési érték (by the way, nem sokan tudják, hogy sok Java fogalmak másolása a nyelvet és operációs Oberon rendszer továbbfejlesztése N.Virta ötletek, Pascal alkotója). A JNI-aláírás terek tilos - minden egyes karakter van értelme, és nem zárható ki, veszteség nélkül. paraméter lista elemei nem választott semmilyen karaktert. A kijelölés formális típus paraméterek az alábbiakban. Vannak durván 4 szabályok:

    1. Primitív típusok vannak ellátva a megfelelő betű a latin ábécé (lásd a fenti táblázatot):
    1. Arrays: annak jelzésére, hogy Cho kerül át nem egy skalár típus, és a tömb használják a szimbólum „[”. Található jobb oldali szögletes zárójel jelölés típusa - a típus a tömb elem. A tömb méretét nem jelezzük.
    1. Típusai (objektumok): A kijelölés kezdődik a nagybetűs L, ami után nincs hely teljes nevét az osztály választott: Package (egymásba ágyazott csomagokat törtvonallal elválasztott) és az osztály nevét (és egy perjel választja el). A belépés esetén érzékeny. Miután az osztály nevét kell feltétlenül megy egy vesszőt, ami a végén egy bizonyos típusú. Felhívom a figyelmet, hogy nem lehet kihagyni a vessző (beleértve a leírás a típusú visszatérési értéke a módszer).
    1. A visszatérési típusa void (azaz semmi) helyébe a szimbólum „V”

Most mutasd meg a gyakorlatban:

1. int MyMethod1 (úszó egy, char b) -> (FC) I

2. int [] MyMethod2 (hosszú [] a) -> ([J) [I

3. void MyMethod3 (package1.subpackage2.MyClass [] a, karakterlánc b) -> (Lpackage1 / subpackage2 / MyClass; Ljava / Lang / String;) V

4. package1.subpackage2.MyClass [] MyMethod4 (String egy, Class [] b, úszó c) -> (Ljava / Lang / String; [Java / Lang / osztályú F) [Lpackage1 / subpackage2 / MyClass;


Tehát mágikus első pillantásra, karakterek sorozata meglehetősen egyszerű (ellentétben a C nyelv aláírások).

Ui Egyre ezt a megjegyzést a tabletta a metróban. Kiderült, a lemezeket jól alkalmazhatók tartalom létrehozása. Míg a kényelmet, a billentyűzet android még mindig lehetséges, hogy működjön))

További információ a lehetőségek fordító optimalizáció, tekintse meg optimalizálási közlemény.