powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Кириллица в 1 байт
7 сообщений из 32, страница 2 из 2
Кириллица в 1 байт
    #38367496
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
avp.mkОзверинучитывая, что стороковый тип в java вообще специфичен только для java, то само название себе противоречит ;)
В смысле?) String есть только в java вы это имели в виду?))

само собой ;)
...
Рейтинг: 0 / 0
Кириллица в 1 байт
    #38367507
avp.mk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[quot Озверин]avp.mkВ смысле?) String есть только в java вы это имели в виду?))/quot]

само собой ;)
Я так и думал! :D
...
Рейтинг: 0 / 0
Кириллица в 1 байт
    #38367587
zalexaka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Николаха,
Сигнатура метода в DLL должна быть примерно такой
Код: plaintext
1.
JNIEXPORT void JNICALL Java_somepackagename_SomeJavaClass_methodName(JNIEnv *, jobject, jbyteArray);


ЕМНИП
...
Рейтинг: 0 / 0
Кириллица в 1 байт
    #38367613
avp.mk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
zalexakaСигнатура метода в DLL должна быть примерно такой
Код: plaintext
1.
JNIEXPORT void JNICALL Java_somepackagename_SomeJavaClass_methodName(JNIEnv *, jobject, jbyteArray);

ЕМНИП
Топикстартер не использует JNI (я так понял). Он использует враппер над JNI.
http://johannburkard.de/software/nativecall/
...
Рейтинг: 0 / 0
Кириллица в 1 байт
    #38367819
avp.mk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я прям друг лентяев))
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
package testnativecall;

import com.eaio.nativecall.NativeCall;
import com.eaio.nativecall.VoidCall;

public class TestNativeCall {

    public static void main(String[] args) throws java.io.IOException {
        NativeCall.init();
        String message = "Удивительное рядом =) \n";
//        VoidCall printf = new VoidCall("c", "printf");
        VoidCall printf = new VoidCall("msvcrt", "printf");
        try {
            printf.executeCall(message);
            printf.executeCall(message.getBytes());
            printf.executeCall(message.getBytes("UTF-8"));
            printf.executeCall(message.getBytes("UTF-16"));
            printf.executeCall("\n");
            printf.executeCall(message.getBytes("cp1251"));
            printf.executeCall(message.getBytes("cp866"));
        } finally {
            printf.destroy();
        }
    }
}
...
Рейтинг: 0 / 0
Кириллица в 1 байт
    #38368358
Николаха
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ОзверинНиколаха,

String хранит в себе массив char, char же в свою очередь в java занимает 2 байта. Покажите мануал к вызову
И воообще, длина new String("ABC") <> длине массива этих символов..вообще пичаль

Вообще я давно написал эту программу, но сейчас она перестала работать! ((( Я подумал может доступ закрыли, но у др. чувака на дЕльфи эта фича прёт! После дебага выяснил, что строка длинней в байтах чем положено, а переписывать на дельфу нет большого желания!
То что char в java 2 байта я понял! Ну неужели в java не получится это сделать!? (((

Озверинна самом деле есть подозрение, что на вход требуется char[] но как без из с\с++, где в char хранится как раз 1 байт, другими словами, byte[] отлично подойдет ;) Хотя, это всего лишь догадка.

Это я тоже пробовал! в качестве параметра подавал и byte[] и char[]!
...
Рейтинг: 0 / 0
Кириллица в 1 байт
    #38371641
Николаха
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо! Проблема решилась! Сначала понял, что сам dll был какой-то не такой, ну а потом ещё и стало ясно что строка входная должна быть длиной 30800 символов, а размер в байтах был не важен! +))) Инструкция кривая к нему!
...
Рейтинг: 0 / 0
7 сообщений из 32, страница 2 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / Кириллица в 1 байт
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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