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

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

андроид?

11 ответов

4 просмотра

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Мужики и девушки, привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных...
Kraszx
14
Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Я вот подумал. SSE выполняет операции максимум с 64-битной точностью. А FPU - всегда с 80-битной. Разве не должно быть FPU точнее тогда?
The Bird of Hermes
13
как быть с принтером? такой подход прокатит?
zamtmn
12
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Я не понимаю, это троллинг или что? Швабрика поддерживают, который буквально пишет на ассемблере взаимодействия с винапи. Я это ещё написал загрузчик и хоть что-то изучаю в о...
Shadow Akira
6
А вот это что за конструкция? Вернее, она тут нафига?
Serjone
10
Привет. Подскажите, как правильно сматчить лист фиксированного размера, чтобы компилятор не говорил мне о неполном паттерне? Допустим что-то такое [x', y'] = sort [x, y]?
Arseny
8
Карта сайта