Я пишу демонстрационное Java-приложение, которое взаимодействует с libpq. Для этого я использую пакет java.lang.foreing. Моя проблема в том, что я могу легко подобрать функции, но не целочисленные константы перечисления:
Код: Выделить всё
System.load("path/to/the/lib/pq")
var lookup = SymbolLookup.loaderLookup();
// works fine
MemorySegment PQclear = lookup.find("PQclear").get()
// but this fails (not found)
MemorySegment CONN_OK = lookup.find("CONNECTION_OK").get()
Значение CONNECTION_OK — это просто перечисление, определенное в C следующим образом:
Код: Выделить всё
typedef enum {
CONNECTION_OK,
CONNECTION_BAD,
...
}
Интересно, как мне получить эти значения перечисления в Java? Я бы не хотел копировать и вставлять их из исходников C.
Подробнее здесь:
https://stackoverflow.com/questions/798 ... ve-library