Какой аналог typedef из Си есть в Java? Или как это можно грамотно обойти? Например, работаю с Android-NDK, в Си есть функция, ее прототип:
LONG List_File_Card(SCARDHANDLE gCardHandle, BYTE *buffer, DWORD *bufferLength);
Типы LONG,SCARDHANDLE,BYTE,DWORD определены в h-никах, по аналогии typedef long LONG;
В Java коде определяю эту же функцию как
public static native LONG List_File_Card(SCARDHANDLE gCardHandle, BYTE *buffer, DWORD *bufferLength);
Нужно, чтобы в эту функцию поступали и возвращались такие же имена типов данных, как и в Си. Как их можно и лучше определить в Java? С помощью классов, интерфейсов, enum? Подскажите, пожалуйста.
typedef, либо похожего аналога, в Java нет.
Можно попробовать сделать эмуляцию через наследование:
public class LONG extends Long {}
Но это уже будет не примитивный тип, так что, я думаю, не стоит этим заниматься.
Батенька, у вас проблема не в typedef, а в маппинге сишных типов на Java типы:
Почитайте доку про маппинг сишных типов на Java.
На стороне C, вы должны декларировать функцию типа:
jlong <имя_пакета>_List_File_Card(<blah-blah);
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости