|
Песочница Удалённые с форума темы |
|
Опции темы | Поиск в этой теме |
15.04.2015, 11:34 | #1 |
Новичок
Регистрация: Apr 2015
Сообщения: 5
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Программа на Java и разделяемая память.
Доброго времени суток.
У меня повилась проблема с реализацией доступа к разделямой памяти средствами Java. Для начала написал простой код для открытия файла load_files.srv, создания MappedByteBuffe на его основании и там уже просто цыклически писать рандомное значение, скажем типа float. Для этого открыл файл вручную, посмотрел, что добавленная в SMLogix мною Mem-переменная находится по адрессу var0 = 0xcc, т.е. 204, делаю buffer.putFloat(204, 5.0f). Проблема в том, что не сработало. Появилось подозрение, что не попал, поэтму сделал заполнение открытого файла этим числом: int i = 0; while(true){ buffer.putFloat(i,5.0f); i+=4; if (i>=4) i=0; } Но и при этом на екране эта переменная отображается как 0.000000. Теперь думаю, что не смог нормально запустить прогу Java. Делал как в мануале по Программированию, только в start прописал название проэкта (Test), а в start.after и restart.before вписал Test.jar вместо demo, поместил jar файл в место проекта. Не понимаю где ошибся, может есть какие-то особенности запуска Java-программ в даной ситуации? А то ведь многое неясно, а на форуме про Java ровным счетом ничего. Буду очень признателен за любую помощь. |
15.04.2015, 23:17 | #2 | |
Senior Member
Регистрация: Aug 2013
Сообщения: 3 785
Благодарил(а): 12 раз(а)
Поблагодарили:
194 раз(а) в 190 сообщениях
|
Ответ: Программа на Java и разделяемая память.
Цитата:
jar - не исполняемый файл, а архив скомпилированных java классов. Да и java runtime в системе потребуется. Что-то я его не видел... Кстати о результатах было бы интересно узнать. Из PHP шареды что-то не нашли... Последний раз редактировалось ATS, 15.04.2015 в 23:41 |
|
16.04.2015, 00:27 | #3 |
Новичок
Регистрация: Apr 2015
Сообщения: 5
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Программа на Java и разделяемая память.
И вправду, спасибо, это все от недостатка понимания происходящего
Исправил, теперь файл start.after выглядит так: if [ -f ./test.jar ]; then sleep 1 java -jar ./test.jar fi Но в контроллере в usr/lib/ действительно нету никакой Java вообще, а как поставить непосредственно в контроллере я и не знаю. Разве что подготовить прошивочные файлы с уже встроенным ПО, но и это вызывает вопросы. |