powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Как заставить Java понимать специфичное железо?
11 сообщений из 11, страница 1 из 1
Как заставить Java понимать специфичное железо?
    #32644062
Фотография Talen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На мамке имеется пара цифровых входов/выходов. Как на Java написать класс, чтобы достучаться до железки?
Я понимаю, что Java платформенно-независимая штука, и, поэтому все скрыто, но все-таки...
Копался в стандартных классах JDK, но нигде не нашел как доступиться до железки. Может быть стоит какую-нибудь DLL-ку на Си-шке наваять (речь про Винду идет)?
Кто знает, откликнитесь. Может быть где-то инфа есть?
...
Рейтинг: 0 / 0
Как заставить Java понимать специфичное железо?
    #32644082
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сходи сюда
...
Рейтинг: 0 / 0
Как заставить Java понимать специфичное железо?
    #32644117
Фотография Talen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А, вообще, как портируется JVM на другие платформы?

Например, в Nokia MIDP, я могу включать и выключать вибру. На PC этого сделать конечно же нельзя. Смотрел Nokia-классы, пытался добраться до самого низа, но ничего так и не нашел. Классы наследуют друг-друга и так до самого начала. Где граница между JVM и интерпретируемой программой ?
Может для JVM есть какие-нибудь плагины (COM, OLE или обычная DLL-ка)?
...
Рейтинг: 0 / 0
Как заставить Java понимать специфичное железо?
    #32644142
Фотография А.Гpacoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TalenА, вообще, как портируется JVM на другие платформы?

Например, в Nokia MIDP, я могу включать и выключать вибру. На PC этого сделать конечно же нельзя. Смотрел Nokia-классы, пытался добраться до самого низа, но ничего так и не нашел. Классы наследуют друг-друга и так до самого начала. Где граница между JVM и интерпретируемой программой ?
Может для JVM есть какие-нибудь плагины (COM, OLE или обычная DLL-ка)?

есть прослойка между ява-машиной и системой.
реализовано - JNI. это и в нокиевской ОС и в
виндовсе так.
...
Рейтинг: 0 / 0
Как заставить Java понимать специфичное железо?
    #32644149
Фотография Talen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Т.е. все классы, касающиеся спец. железа, обрабатываются этой JNI?
...
Рейтинг: 0 / 0
Как заставить Java понимать специфичное железо?
    #32648271
Фотография Talen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Народ, я нашел, я знаю как написать класс на Java, обрабатывающий железо...

Если с помощью Java этого сделать не удается, то можно сделать это с помощью С-ишки:

Есть класс на Java
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
public class MyClass
{
    static 
    {
         System.loadLibrary("mylib");
    }

     //Так будет выглядеть импортируемая функция в Java 
    public native void about();
}

и есть DLL-ка
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
#include "jawt_md.h"
#include <assert.h>

 //А вот, собственно, эта экспортируемая функция на С 
 //Должна быть объявлена Java_<Имя класса>_<имя функции> 
 //ПАРАМЕТРЫ: 
 // JNIEnv *env - указатель на переменную окружения JNI 
 // jobject myclass - указатель на класс, который содержит эту функцию, 
 // грубо говоря - это this. 
JNIEXPORT void JNICALL
Java_MyClass_about(JNIEnv* env, jobject myclass)
{
      MessageBox(NULL, "About program", "MyLib", MB_OK | MB_ICONINFORMATION);
}

P.S. И делай с ним что хочешь!
...
Рейтинг: 0 / 0
Как заставить Java понимать специфичное железо?
    #32648313
zalexaka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и что здесь такого? (типа америка) :)
...
Рейтинг: 0 / 0
Как заставить Java понимать специфичное железо?
    #32648325
Фотография Talen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zalexakaНу и что здесь такого? (типа америка) :)

Просто мне Java нужно было привинтить к железке. Целую неделю по инету лазил, а оно оказывается все в JDK валяется.
Правда, теперь надо еще разобраться со всей этой кухней. Может кинешь ссылочку на удобоваримую доку по Java 2 API (русскую бы) =)
...
Рейтинг: 0 / 0
Как заставить Java понимать специфичное железо?
    #32648448
zalexaka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вообще вся дока на сане
а по русски мож lib.juga.ru подойдёт.
...
Рейтинг: 0 / 0
Как заставить Java понимать специфичное железо?
    #32648455
zalexaka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то у меня была дока с экзамплами но чёта я её не найду :(
Сам в своё время долбил ету тему.
...
Рейтинг: 0 / 0
Как заставить Java понимать специфичное железо?
    #32648743
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TalenНарод, я нашел, я знаю как написать класс на Java, обрабатывающий железо...

Если с помощью Java этого сделать не удается, то можно сделать это с помощью С-ишки:

Есть класс на Java
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
public class MyClass
{
    static 
    {
         System.loadLibrary("mylib");
    }

     //Так будет выглядеть импортируемая функция в Java 
    public native void about();
}

и есть DLL-ка
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
#include "jawt_md.h"
#include <assert.h>

 //А вот, собственно, эта экспортируемая функция на С 
 //Должна быть объявлена Java_<Имя класса>_<имя функции> 
 //ПАРАМЕТРЫ: 
 // JNIEnv *env - указатель на переменную окружения JNI 
 // jobject myclass - указатель на класс, который содержит эту функцию, 
 // грубо говоря - это this. 
JNIEXPORT void JNICALL
Java_MyClass_about(JNIEnv* env, jobject myclass)
{
      MessageBox(NULL, "About program", "MyLib", MB_OK | MB_ICONINFORMATION);
}

P.S. И делай с ним что хочешь!И зачем тебе Жава сдалась, не проще ли использовать эту длл из С/С++, все равно ты эту программу никуда не перенесешь, хотя если ты фанат Жава....
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Как заставить Java понимать специфичное железо?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]