![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
Взюх |
|
|||
Новичок Профиль Группа: Участник Сообщений: 41 Регистрация: 17.6.2006 Репутация: нет Всего: нет |
есть ли возможность написать программу которая работала бы и под Windows, без каких либо изменений под Linux и на мобильных устройствах ?
по возможности объясните причину по которой программа работающая под Windows не работает под Linux. Задаю такой вопрос потому что заинтересован в написании программы которая бы работала под как можно большем количеством операционных систем. В связи с этим посоветуйте и компилятор который позволит написать такую программу. |
|||
|
||||
Sartorius |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1568 Регистрация: 18.7.2006 Где: Ivory tower Репутация: 2 Всего: 37 |
Да. Используем либо готовые кросплатформенные решения. Такие как QT либо выносим всю платформозависимую часть в отдельный модуль и оборачиваем директивами условной компиляции |
|||
|
||||
anatox91 |
|
|||
![]() программист-самоучка ![]() ![]() Профиль Группа: Участник Сообщений: 699 Регистрация: 12.1.2008 Где: ++Украина.Крым++ Репутация: 1 Всего: 13 |
Взюх, существуют кроссплатформенные библиотеки для С++ - Qt, Gtk+, wxWidgets, Boost и менее известные
причина проста - у этих систем отличающиеся API Это сообщение отредактировал(а) anatox91 - 1.8.2008, 21:52 -------------------- The code is the design © Sony VAIO VGN-FW480J ![]() |
|||
|
||||
SABROG |
|
||||||||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 1 Всего: 91 |
Такая возможность есть, однако за это придется расплачиваться размером и/или скоростью программы.
Зависит от того какие требования предъявляются программе. Если она будет драйвером для устройства то скорее всего возникнут неразрешимые проблемы. Вернее не останется выбора кроме как предоставить конечному пользователю несколько исходников под все платформы (как это делает Qt и многие другие). Либо испищрить (ужас какое слово) исходники всякими проверками с дефайнами.
Любой компилятор, который существует на всех операционных системах, которые тебе нужны. Обычно это gcc (C/C++ и т.д). Может быть Java |
||||||||
|
|||||||||
Взюх |
|
|||
Новичок Профиль Группа: Участник Сообщений: 41 Регистрация: 17.6.2006 Репутация: нет Всего: нет |
Насчет формата исполняемого файла, как с этим можно бороться ?
|
|||
|
||||
chipset |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 2 Всего: 164 |
1. Использовать Java. 2. Никак, компилировать несколько версий под часто используемые платформы и распространять исходники для остальных. --------------------
|
|||
|
||||
Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 27 Всего: 154 |
а еще лучше, на python
![]() |
|||
|
||||
Взюх |
|
|||
Новичок Профиль Группа: Участник Сообщений: 41 Регистрация: 17.6.2006 Репутация: нет Всего: нет |
Ява не подходит: потому что она требует наличия виртуальной машины на аппарате. А задача написать программу которой бы не требовалось ничего для ее работы.
Добавлено через 1 минуту и 2 секунды Под ничего иметься в веду, минимум который есть в наличии у каждой ОП. |
|||
|
||||
Взюх |
|
|||
Новичок Профиль Группа: Участник Сообщений: 41 Регистрация: 17.6.2006 Репутация: нет Всего: нет |
Sartorius,
Можешь другими словами описать то что ты написал, мне непонятно ![]() |
|||
|
||||
Fin |
|
|||
![]() Дракон->Спать(); ![]() ![]() Профиль Группа: Участник Сообщений: 687 Регистрация: 4.1.2006 Репутация: нет Всего: 10 |
Взюх, Чудес не бывает. За все нужно платить, даже за чудеса. Начнем с самого начала.
1) Разный формат бинарных исполняемых файлов. Это говорит о том, что придется перекомпилировать проект по крайней мере на несколько платформ. 2) Если в ПК используется практически везде одна и таже линейка процессоров (Intel x86), то мобильные устройства не факт, что будут использованы одни и теже процессоры в двух разных моделях у двух разных производителей. Кстати даже в стационарных системах не обязательно будет стоять процессор от Intel. Например Sun предлагает свои сервера на процессоре Intel и также на SPARC. Так что, если хочеш полностью переносимую програмную систему, то на данный момент это Java. Microsoft, при создании своей .Net технологии, обешало также и кроссплатформенность. Но пока что, я лично не вижу сдвигов в этом направлении. Это сообщение отредактировал(а) Fin - 2.8.2008, 11:08 -------------------- Пролетал мимо. |
|||
|
||||
Взюх |
|
|||
Новичок Профиль Группа: Участник Сообщений: 41 Регистрация: 17.6.2006 Репутация: нет Всего: нет |
Всем большое спасибо
Остановлюсь на варианте : писать отдельные программы под отдельные платформы. |
|||
|
||||
sinmaster |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 29.7.2008 Репутация: нет Всего: нет |
Взюх,
можешь писать на чистом Си (ANSI C), и используя ф-ции только из стандартной библиотеки языка Си (http://en.wikipedia.org/wiki/C_standard_library). теоретически, твои сорцы будут компилиться под любой ОСью, имеющей Сишный компилер. короче, все распространенные ОСи. всю специфику работы твоей проги под разными ОСями выноси по отд. сорцам, заворачивай такие ф-ции в обертки и отдельно реализуй конкретные версии под все ОСи которые ты хочешь поддерживать. |
|||
|
||||
Взюх |
|
|||
Новичок Профиль Группа: Участник Сообщений: 41 Регистрация: 17.6.2006 Репутация: нет Всего: нет |
sinmaster,
какой для этого нужен компилятор? |
|||
|
||||
anatox91 |
|
|||
![]() программист-самоучка ![]() ![]() Профиль Группа: Участник Сообщений: 699 Регистрация: 12.1.2008 Где: ++Украина.Крым++ Репутация: 1 Всего: 13 |
-------------------- The code is the design © Sony VAIO VGN-FW480J ![]() |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
имей в виду, что в стандарте нет упоминаний про GUI, поэтому сомневаюсь, что программы пойдут под Windows Mobile. Я бы советовал обратить внимание на QT... |
|||
|
||||
Взюх |
|
|||
Новичок Профиль Группа: Участник Сообщений: 41 Регистрация: 17.6.2006 Репутация: нет Всего: нет |
bsa,
Я об этом догадывался, и был готов к тому что придется написать свой ГУЙ |
|||
|
||||
mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 19 Всего: 306 |
хм. да крут имхо. |
|||
|
||||
anatox91 |
|
|||
![]() программист-самоучка ![]() ![]() Профиль Группа: Участник Сообщений: 699 Регистрация: 12.1.2008 Где: ++Украина.Крым++ Репутация: 1 Всего: 13 |
-------------------- The code is the design © Sony VAIO VGN-FW480J ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |