Настроение: | peaceful |
Музыка: | Rainer Maria - Rainer Maria (2017) |
делаю поделку под JNI, нужно кроме обыкновенного перекидывания строчками с нейтивом расшаривать участки нейтив состояния с джава машиной. ну банальное такое, в сишной части создается структура, нужно ссылку на нее удерживать в состянии джава объекта, а потом при определенных условиях вызывать нативные (JNI) методы оного, передавая означенную ссылку, в сишечный код для совершения действий над структурой по ссылке.
внезапно все комьюнити ресурсы, от stackoverflow до java-forums, оказавшимся в моей ситуации предлагают использовать в качестве ссылки прокастованное в java long значение указателя на структуру, передавать его в сишечку в виде long int, а потом кастовать обратно до указателя на структуру.
впечатляет, вскакиваю с места, начинаю ходит по комнате.
минут десять думаю про себя -- что за хуйня, неужели человеки такие дебилы. неужели большинство индустриальных машина работает на такой спайке. что за пиздец.
не может быть.
потом откуда-то приходит следующая логичная мысль, что дебил тут я и пользователи stackoverflow и java-forums, а человечество придумало способы не стрелять себе в ногу.
в порыве гуглежа нахожу следующее. понимаю, что любой кодер в любой корпорации скачает этот репозиторий, прежде чем присоединять сишный модуль управления железным роботом-хирургом к джава-модулю реализующему удаленный контроль.
думаю, что до 2016 года (время появления jni.hpp) мир был слегка страшнее, нежели сейчас.