Использование констант, определенных в заголовочном файле

#java #opengl #jna

#java #opengl #jna

Вопрос:

Я пытаюсь перевести демонстрационную версию X11 / OpenGL на Java, и я не уверен, как использовать константы, определенные OpenGL. Единственный метод, который я могу придумать, — это копаться в заголовках OpenGL и копировать константы в мою программу, но правильно ли это делать? Я полагаю, что нет никакой гарантии, что эти константы будут одинаковыми в другой среде.

Ответ №1:

Если вы используете библиотеку, подобную LWJGL, она определяет эти константы за вас, и вам не нужно беспокоиться об их фактических значениях.

Комментарии:

1. Что привлекло меня в JNA, так это возможность потенциально использовать opengl без собственных библиотек.

2. Я пропустил тег JNA. Копирование констант было бы единственным методом, поскольку нет способа волшебным образом получить к ним доступ, поскольку C / C не имеет отражения. Кстати, JNA также использует собственную библиотеку.

Ответ №2:

Я не могу использовать этот метод, чтобы делать то, что я хочу, потому что я на самом деле пытаюсь получить определение препроцессора, но это отвечает на мой вопрос.

Вы используете класс NativeLibrary следующим образом.

NativeLibrary library = NativeLibrary.getInstance(«ИМЯ_БИБЛИОТЕКИ»); library.getGlobalVariableAddress(«ИМЯ_ПЕРЕМЕННОЙ»);

Редактировать: я чувствую, что должен признать, что не имеет смысла обращаться к определению препроцессора, в итоге я просто скопировал определения в свою программу.