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

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

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

есть прослойка между ява-машиной и системой.
реализовано - JNI. это и в нокиевской ОС и в
виндовсе так.
...
Рейтинг: 0 / 0
11.08.2004, 11:43
    #32644149
Talen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заставить Java понимать специфичное железо?
Т.е. все классы, касающиеся спец. железа, обрабатываются этой JNI?
...
Рейтинг: 0 / 0
13.08.2004, 11:19
    #32648271
Talen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заставить Java понимать специфичное железо?
Народ, я нашел, я знаю как написать класс на 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
13.08.2004, 11:30
    #32648313
zalexaka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заставить Java понимать специфичное железо?
Ну и что здесь такого? (типа америка) :)
...
Рейтинг: 0 / 0
13.08.2004, 11:36
    #32648325
Talen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заставить Java понимать специфичное железо?
zalexakaНу и что здесь такого? (типа америка) :)

Просто мне Java нужно было привинтить к железке. Целую неделю по инету лазил, а оно оказывается все в JDK валяется.
Правда, теперь надо еще разобраться со всей этой кухней. Может кинешь ссылочку на удобоваримую доку по Java 2 API (русскую бы) =)
...
Рейтинг: 0 / 0
13.08.2004, 12:22
    #32648448
zalexaka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заставить Java понимать специфичное железо?
вообще вся дока на сане
а по русски мож lib.juga.ru подойдёт.
...
Рейтинг: 0 / 0
13.08.2004, 12:24
    #32648455
zalexaka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заставить Java понимать специфичное железо?
Где-то у меня была дока с экзамплами но чёта я её не найду :(
Сам в своё время долбил ету тему.
...
Рейтинг: 0 / 0
13.08.2004, 13:55
    #32648743
wessen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заставить Java понимать специфичное железо?
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 [игнор отключен] [закрыт для гостей] / Как заставить Java понимать специфичное железо? / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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