Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
contedevel
57 / 55 / 13
Регистрация: 07.10.2012
Сообщений: 606
1

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

30.03.2014, 20:36. Просмотров 842. Ответов 7
Метки нет (Все метки)

Здравствуйте!
Подскажите, возможно ли создать экземпляр класса C++ в Java? Если да, то как? Если можно то пример с кодом C++ класса и созданием его экземпляра в Java.
Заранее спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.03.2014, 20:36
Ответы с готовыми решениями:

Как заставить переменную не создаваться заново при создании экземпляра класса?
Проблема с переменной string. Надеюсь понятно напишу. Создан отдельный класс...

Java: Клнирование класса
Как в яве сделать подобное? Есть МОЙ класс My() clas My { public int...

Базовый синтаксис Java Условия If Else Внутри класса
Всем привет. Я только начинаю кодить на Java до этого имел небольшой опыт JS и...

Создание объекта класса
public class MyClass { static int Variable = 1; } //создаю первый...

Создание класса и вызов его методов
Код: public class DIYliq extends AppCompatActivity implements...

7
Gerbasha
6 / 6 / 2
Регистрация: 04.10.2011
Сообщений: 115
30.03.2014, 20:53 2
Гугли в сторону JNI for Anroid
0
contedevel
57 / 55 / 13
Регистрация: 07.10.2012
Сообщений: 606
30.03.2014, 21:04  [ТС] 3
Гуглил, но именно это не получается найти...
Просто интересно можно ли написать класс в C++ так, чтобы в Java потом создать его наподобие java-класса:
Java
1
Object c = new Object();
Ну, что-то вроде этого...
0
Netscape
374 / 361 / 52
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
30.03.2014, 21:38 4
Нет, не возможно.
0
Gerbasha
6 / 6 / 2
Регистрация: 04.10.2011
Сообщений: 115
30.03.2014, 21:40 5
Нет насколько я знаю
0
EVP
502 / 265 / 59
Регистрация: 14.12.2010
Сообщений: 529
30.03.2014, 22:56 6
Цитата Сообщение от contedevel Посмотреть сообщение
Гуглил, но именно это не получается найти...
Просто интересно можно ли написать класс в C++ так, чтобы в Java потом создать его наподобие java-класса:
Код Java(TM) 2 Platform Standard Edition 5.0
1
Object c = new Object();
Кроме класса на С++, понадобится его обёртка на Java. Вот пример.
2
Tester64
396 / 357 / 46
Регистрация: 22.05.2013
Сообщений: 2,518
31.03.2014, 10:56 7
А как работать со сложными данными? Си состоит из 2х классов. Во время инициализации 1го класса создается внутренняя переменная со вторым классом. Как передать ссылку на тот второй класс из си в яву и назад?

Например наш ява-си класс работает с нестандартным файлом (бинарное чтение в блоки). Как создать 2 и больше экземпляров класса, и не терять ссылку на открытый файл и уже прочитанные блоки для каждого класса, если блок памяти создавался в сишной части? Как передать "ссылку" на блок памяти или класс между си и явой? Я так понимаю подобное происходит при работе с SQLite - передается некий "идентификатор" открытой базы или ссылка на него...
0
EVP
502 / 265 / 59
Регистрация: 14.12.2010
Сообщений: 529
31.03.2014, 15:53 8
Цитата Сообщение от Tester64 Посмотреть сообщение
А как работать со сложными данными? Си состоит из 2х классов. Во время инициализации 1го класса создается внутренняя переменная со вторым классом. Как передать ссылку на тот второй класс из си в яву и назад?
C++ и Java используют разные подходы к управлению ресурсами.
При их взаимодействии придётся держаться стороны Java.
Поэтому на стороне C++ должен быть учёт работы GC Java, т.е. нужно использовать объекты с подсчётом ссылок (например, через std::shared_ptr).
Т.е. вложенный объект второго класса в объекте первого класса должен быть размещён через std::shared_ptr.
Чтобы дать ссылку в Java на объект второго класса понадобится прокси объект (с обёрткой на Java), который будет управляться полностью Java, но содержать объект второго класса через разделяемый указатель (аля std::shared_ptr).
Соответственно, при получении Java обёртки на прокси-объект второго класса, можно извлечь из прокси разделяемую ссылку на второй объект.
1
31.03.2014, 15:53
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.03.2014, 15:53

Создание элементов интерфейса в Java коде
Здравствуйте! У меня есть класс PuzzleView, реализующий собственный View. В...

Создание приложения на Java в среде разработки android studio
как создать простое приложение на Java в android studio ? - не для планшета...

Создание игры just for fun и немного для обучения — движок или plain Java?
Решил написать свою интерпретацию Doodle Jump под Android. Пишу в основном для...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru