170 похожих чатов

Можно ли как-нибудь перенести программу написанную на с++ на

андроид?

11 ответов

8 просмотров

Конечно можно. Программа это просто набор инструкций по пользованию объектами. Буквально вот так - "возьми этот объект, еще возьми этот объект, положи один в другой, дерни за рычаг, возьми что получилось" Если ты используешь какие то объекты, которых нет в стандартной библиотеке, то значит тебе надо просто подключить библиотеки и использовать заранее созданные кем то классы. Для этого эти библиотеки нужны или в исходном коде или уже скоппилированные (но для платформы на которой ты хочешь их использовать!), то есть библиотеки от виндоус в скомпилированном виде не подойдут для линковки в андроид. Заголовочные файлы тоже нужны от этих библиотек. Ты все это потом компилируешь при помощи Android NDK. Еще раз учти, что если нужна какая то библиотека под андроид узнай есть ли исходный код оной или если нет кода, есть ли она в бинарном виде и заголовочный файл к ней. Еще добавлю. Если не нашел, то возможно она есть в менеджере пакетов vcpkg!

The Pressbraker
Конечно можно. Программа это просто набор инструкц...

Ага. Если только программа не говорит: вызови виндовую функцию CreateProcessEx.....

d7d1cd
Ага. Если только программа не говорит: вызови винд...

а почему программа должна это говорить, если в коде это отсутствует?

А я что, код вижу? Я лишь намекнул, что не любую программу можно перенести. Программа может использовать что-то специфичное из ОС.

d7d1cd
А я что, код вижу? Я лишь намекнул, что не любую п...

Ну это и так наверно должно быть понятно

d7d1cd
А я что, код вижу? Я лишь намекнул, что не любую п...

Мне всегда было интересно, как кроссплатформенная библиотека узнает, какую функцию ОС вызвать (допустим, на линукс у нее одно название, а у виндоус другое), к примеру, у кроссплатформенной библиотеки есть функция clearscreen(), а внутри этой функции она в завимисимости от того какая ОС, вызывает специфичную для конкретной ОС функцию. Вот как она узнает какая ОС? Ведь смотрите, чтобы узнать ОС, нужно опять же вызвать специфичную для каждой ОС функцию. Я сомневаюсь, что во всех ОС есть какая то общая функция с одинаковым именем, возвращающая тип ОС.

В кроссплатформенной библиотеке есть условная компиляция

d7d1cd
В кроссплатформенной библиотеке есть условная комп...

То есть если она скопилирована для линукс, то в ней уже будет зашита правильная функция (допустим clear_screen_linux() внутри вызываемой извне функции clearscreen() ? Грубо говоря при компиляции для линукс ставят дефайн что это линукс ? И препроцессор уже вставляет функцию для линукс?

The Pressbraker
То есть если она скопилирована для линукс, то в не...

Вообще бинарник под линукс без специальных извращений на другой ОС даже не запустится, так что такой выбор нужной функции на этапе компиляции вполне оправдан

Это не очень просто, но можно

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта