Java 使用头文件中定义的常量

Java 使用头文件中定义的常量,java,opengl,jna,Java,Opengl,Jna,我正在尝试将X11/OpenGL演示翻译成Java,但我不确定如何使用OpenGL定义的常量。我能想到的唯一方法是挖掘OpenGL标题并将常量复制到我的程序中,但这是正确的方法吗?我想,无法保证这些常量在不同的环境中是相同的。如果您使用这样的库,它会为您定义这些常量,您不必担心它们的实际值 如果使用这样的库,它会为您定义这些常量,您不必担心它们的实际值 我不能使用这个方法来做我想做的事情,因为我实际上在尝试获取预处理器定义,但它确实回答了我的问题 您可以像这样使用NativeLibrary类 N

我正在尝试将X11/OpenGL演示翻译成Java,但我不确定如何使用OpenGL定义的常量。我能想到的唯一方法是挖掘OpenGL标题并将常量复制到我的程序中,但这是正确的方法吗?我想,无法保证这些常量在不同的环境中是相同的。

如果您使用这样的库,它会为您定义这些常量,您不必担心它们的实际值

如果使用这样的库,它会为您定义这些常量,您不必担心它们的实际值

我不能使用这个方法来做我想做的事情,因为我实际上在尝试获取预处理器定义,但它确实回答了我的问题

您可以像这样使用NativeLibrary类

NativeLibrary library=NativeLibrary.getInstance(“库名称”); getGlobalVariableAddress(“变量名称”)


编辑:我觉得我应该承认访问预处理器定义没有意义,我只是将定义复制到我的程序中。

我不能使用此方法来做我想做的事情,因为我实际上在尝试获取预处理器定义,但它确实回答了我的问题

您可以像这样使用NativeLibrary类

NativeLibrary library=NativeLibrary.getInstance(“库名称”); getGlobalVariableAddress(“变量名称”)


编辑:我觉得我应该承认访问预处理器定义是没有意义的,我只是将定义复制到我的程序中。

吸引我加入JNA的是能够在没有本机库的情况下使用opengl。我错过了JNA标记。复制常量将是唯一的方法,因为C/C++没有反射,因此无法神奇地获取它们。顺便说一句,JNA也使用本机库。吸引我加入JNA的是,我能够在没有本机库的情况下使用opengl。我错过了JNA标记。复制常量将是唯一的方法,因为C/C++没有反射,因此无法神奇地获取它们。顺便说一句,JNA也使用本机库。