Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Передача параметров в JNA и 64-bit DLL 
:(
    Опции темы
nikkadim
  Дата 9.11.2012, 00:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 12.10.2009

Репутация: нет
Всего: нет



Подскажите плз, использую JNA для доступа из джавы к DLL (Windows 7 64-bit). Ниже тестовый кусок джава кода и функция к которой обращаюсь в DLL.
Проблема в том, что DLL скопилирована в 32-bit все отлично работает, но когда DLL 64-bit  параметр в функцию не передается (проверял это в условиями в самой функции), при это в 64-bit режиме если захардкодить возвращенеи параметра функции - я его без проблем получаю в Jav-коде.
В чем может быть дело?

Спасибо.


Код



import com.sun.jna.Library;
import com.sun.jna.Native;
import com.sun.jna.Platform;
import com.sun.jna.Pointer;
 
/** Simple example of native library declaration and usage. */
public class HelloWorld {

    public interface simpleDLL extends Library {
        simpleDLL INSTANCE = (simpleDLL) Native.loadLibrary(
            (Platform.isWindows() ? "simpleDLL" : "simpleDLLLinuxPort"), simpleDLL.class);
         int giveIntGetInt(int a);               // int giveIntGetInt(int a);
    }
    
    public static void main(String[] args) {
     int b = simpleDLL.INSTANCE.giveIntGetInt(2);
     System.out.println("Hello, World\n");
        
     System.out.println(String.format("Argument %d", b));
        
    }
}



Код

    int simpleDLL::giveIntGetInt(int a)
    {
        return 2*a;
    }


Для примера, вот это
я получаю с 64-bit dll:
Код
Hello, World

Argument 181140


32-bit dll:
Код
Hello, World

Argument 4


Это сообщение отредактировал(а) nikkadim - 9.11.2012, 01:12
PM MAIL   Вверх
nikkadim
Дата 14.11.2012, 20:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 12.10.2009

Репутация: нет
Всего: нет



Никто?

Это сообщение отредактировал(а) nikkadim - 22.1.2013, 19:43
PM MAIL   Вверх
nikkadim
Дата 22.1.2013, 19:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 12.10.2009

Репутация: нет
Всего: нет



Без идей?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0726 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.