ПредишенСледващото


Например, методът на Java:
дълго е (междинно съединение N, S String, Int [] ARR);

има следния вид подпис:
(ILjava / Lang / String [I) J

Хм. не много и не е много ясно. Аз ще се опитам да опиша в собствените си думи.

JNI подпис се състои от списък на видовете на формалните параметри и вида замяна. Форматът на запис, подобен на определения Паскал стил метод: първо, а след това на параметрите на върнатата стойност (между другото, не много хора знаят, че много концепции на Java са били копирани от езика и операционната система Оберон е по-нататъшно развитие N.Virta идеи, Pascal създател). Парковото пространство JNI подпис са забранени - всеки знак има значение и не може да бъде изхвърлен без загуба на смисъл. списък параметър елементи, които не са разделени от никакви символи. На определяне формалните параметри тип по-долу. Има около 4 правила:

    1. Примитивни типове са кодирани чрез съответната буква от латинската азбука (виж таблицата по-горе):
    1. Масивите: да показват, че Чо ще бъде не прехвърля скаларна тип и масива се използва символът "[". Намиращ се в непосредствена квадратен тип скоба нотация - вида на елемента на масив. Размерът на масив не е показана.
    1. Референтни видове (обекти): обозначението на клас започва с главна L, след което няма място пълното име на класа, състоящ се от: пакет (вложени пакети са разделени с наклонена черта) и името на клас (и разделени с наклонена черта). Влизане малки и големи букви. След името на класа определено трябва да отиде запетая, което е в края на определен тип. Аз привлека вниманието ви, че не можете да пропуснете запетаята (включително описание на типа на връщаната стойност на метода).
    1. Типът на връщане на празнота (т.е. нищо) се заменят със символ "V"

Сега аз го покаже на практика:

1. Int MyMethod1 (поплавък на, овъгляване б) -> (FC) I

2. INT [] MyMethod2 (дълго [] а) -> ([J) [I

3. невалидни MyMethod3 (package1.subpackage2.MyClass [] един, String б) -> (Lpackage1 / subpackage2 / MyClass; Ljava / Lang / String) V

4. package1.subpackage2.MyClass [] MyMethod4 (низ, клас [] Ь, поплавък в) -> (Ljava / Lang / String [Java / Lang / клас; F) [Lpackage1 / subpackage2 / MyClass;


Така магическа на пръв поглед, поредица от символи са доста проста (за разлика от C езикови подписи).

Послепис Придобиване на тази бележка на таблета в метрото. Оказа се, плочите са подходящи за създаване на съдържание. Въпреки удобството на андроид клавиатура все още е възможно да се работи))

За повече информация относно възможностите на компилатора оптимизации, вижте нашите условия за оптимизация.

Подкрепете проекта - споделете линка, благодаря!