Форум программистов, компьютерный форум CyberForum.ru

Создание экземпляра класса C++ в Java - Android

Войти
Регистрация
Восстановить пароль
 
contedevel
 Аватар для contedevel
57 / 55 / 8
Регистрация: 07.10.2012
Сообщений: 589
30.03.2014, 20:36     Создание экземпляра класса C++ в Java #1
Здравствуйте!
Подскажите, возможно ли создать экземпляр класса C++ в Java? Если да, то как? Если можно то пример с кодом C++ класса и созданием его экземпляра в Java.
Заранее спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.03.2014, 20:36     Создание экземпляра класса C++ в Java
Посмотрите здесь:

Не создаются BuildConfig.java R.java Android
Создание элементов интерфейса в Java коде Android
Класс: Хочу из класса WorkFiles получить доступ к функционалу класса WorkDB. Android
Android Создание игры just for fun и немного для обучения — движок или plain Java?
Java: Клнирование класса Android
Android Как заставить переменную не создаваться заново при создании экземпляра класса?
Android Почему устанавливается три экземпляра вместо одного?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Gerbasha
6 / 6 / 1
Регистрация: 04.10.2011
Сообщений: 115
30.03.2014, 20:53     Создание экземпляра класса C++ в Java #2
Гугли в сторону JNI for Anroid
contedevel
 Аватар для contedevel
57 / 55 / 8
Регистрация: 07.10.2012
Сообщений: 589
30.03.2014, 21:04  [ТС]     Создание экземпляра класса C++ в Java #3
Гуглил, но именно это не получается найти...
Просто интересно можно ли написать класс в C++ так, чтобы в Java потом создать его наподобие java-класса:
Java
1
Object c = new Object();
Ну, что-то вроде этого...
Netscape
 Аватар для Netscape
371 / 358 / 48
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
30.03.2014, 21:38     Создание экземпляра класса C++ в Java #4
Нет, не возможно.
Gerbasha
6 / 6 / 1
Регистрация: 04.10.2011
Сообщений: 115
30.03.2014, 21:40     Создание экземпляра класса C++ в Java #5
Нет насколько я знаю
EVP
319 / 241 / 43
Регистрация: 14.12.2010
Сообщений: 461
30.03.2014, 22:56     Создание экземпляра класса C++ в Java #6
Цитата Сообщение от contedevel Посмотреть сообщение
Гуглил, но именно это не получается найти...
Просто интересно можно ли написать класс в C++ так, чтобы в Java потом создать его наподобие java-класса:
Код Java(TM) 2 Platform Standard Edition 5.0
1
Object c = new Object();
Кроме класса на С++, понадобится его обёртка на Java. Вот пример.
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,488
31.03.2014, 10:56     Создание экземпляра класса C++ в Java #7
А как работать со сложными данными? Си состоит из 2х классов. Во время инициализации 1го класса создается внутренняя переменная со вторым классом. Как передать ссылку на тот второй класс из си в яву и назад?

Например наш ява-си класс работает с нестандартным файлом (бинарное чтение в блоки). Как создать 2 и больше экземпляров класса, и не терять ссылку на открытый файл и уже прочитанные блоки для каждого класса, если блок памяти создавался в сишной части? Как передать "ссылку" на блок памяти или класс между си и явой? Я так понимаю подобное происходит при работе с SQLite - передается некий "идентификатор" открытой базы или ссылка на него...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.03.2014, 15:53     Создание экземпляра класса C++ в Java
Еще ссылки по теме:

Создание объекта класса Android
Создание класса и вызов его методов Android
Android Базовый синтаксис Java Условия If Else Внутри класса
Android Серийный номер экземпляра приложения
Создание приложения на Java в среде разработки android studio Android

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
EVP
319 / 241 / 43
Регистрация: 14.12.2010
Сообщений: 461
31.03.2014, 15:53     Создание экземпляра класса C++ в Java #8
Цитата Сообщение от Tester64 Посмотреть сообщение
А как работать со сложными данными? Си состоит из 2х классов. Во время инициализации 1го класса создается внутренняя переменная со вторым классом. Как передать ссылку на тот второй класс из си в яву и назад?
C++ и Java используют разные подходы к управлению ресурсами.
При их взаимодействии придётся держаться стороны Java.
Поэтому на стороне C++ должен быть учёт работы GC Java, т.е. нужно использовать объекты с подсчётом ссылок (например, через std::shared_ptr).
Т.е. вложенный объект второго класса в объекте первого класса должен быть размещён через std::shared_ptr.
Чтобы дать ссылку в Java на объект второго класса понадобится прокси объект (с обёрткой на Java), который будет управляться полностью Java, но содержать объект второго класса через разделяемый указатель (аля std::shared_ptr).
Соответственно, при получении Java обёртки на прокси-объект второго класса, можно извлечь из прокси разделяемую ссылку на второй объект.
Yandex
Объявления
31.03.2014, 15:53     Создание экземпляра класса C++ в Java
Ответ Создать тему
Опции темы

Текущее время: 20:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru