Модераторы: bsa

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Хочу начать изучать С++ и нужна консультация 
:(
    Опции темы
Взюх
Дата 1.8.2008, 21:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 41
Регистрация: 17.6.2006

Репутация: нет
Всего: нет



есть ли возможность написать программу которая работала бы и под Windows, без каких либо изменений под Linux и на мобильных устройствах ?
по возможности объясните причину по которой программа работающая под Windows не работает под Linux.

Задаю такой вопрос потому что заинтересован в написании программы которая бы работала под как можно большем количеством операционных систем.

В связи с этим посоветуйте и компилятор который позволит написать такую программу.  
PM MAIL   Вверх
Sartorius
Дата 1.8.2008, 21:39 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1568
Регистрация: 18.7.2006
Где: Ivory tower

Репутация: 2
Всего: 37



Цитата(Взюх @  1.8.2008,  22:33 Найти цитируемый пост)
есть ли возможность написать программу которая работала бы и под Windows, без каких либо изменений под Linux и на мобильных устройствах ?

 Да. Используем либо готовые кросплатформенные решения.  Такие как QT либо выносим всю платформозависимую часть в отдельный модуль и оборачиваем директивами условной компиляции
PM MAIL ICQ   Вверх
anatox91
Дата 1.8.2008, 21:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


программист-самоучка
**


Профиль
Группа: Участник
Сообщений: 699
Регистрация: 12.1.2008
Где: ++Украина.Крым++

Репутация: 1
Всего: 13



Взюх, существуют кроссплатформенные библиотеки для С++ - Qt, Gtk+, wxWidgets, Boost и менее известные
Цитата

объясните причину по которой программа работающая под Windows не работает под Linux

причина проста - у этих систем отличающиеся API

Это сообщение отредактировал(а) anatox91 - 1.8.2008, 21:52


--------------------

The code is the design ©

Sony VAIO VGN-FW480J

user posted image
PM MAIL ICQ   Вверх
SABROG
Дата 1.8.2008, 21:55 (ссылка)  | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Hacker
****


Профиль
Группа: Завсегдатай
Сообщений: 2481
Регистрация: 18.9.2006

Репутация: 1
Всего: 91



Цитата(Взюх @  1.8.2008,  21:33 Найти цитируемый пост)
есть ли возможность написать программу которая работала бы и под Windows, без каких либо изменений под Linux и на мобильных устройствах ?

Такая возможность есть, однако за это придется расплачиваться размером и/или скоростью программы.

Цитата(Взюх @  1.8.2008,  21:33 Найти цитируемый пост)
по возможности объясните причину по которой программа работающая под Windows не работает под Linux.

  •  Формат исполняемого файла (.exe, .dll, .com и т.п.).
  •  API операционной системы. Т.е. различные функция для работы с файлами, папками, устройствами и т.д.
Это как задать вопрос почему в линуксе не открываются .doc, .xls, .swf, .pdf файлы без установки дополнительного софта. Под wine'ом или под виртуальной машиной типа wmware может и запустиш.

Цитата(Взюх @  1.8.2008,  21:33 Найти цитируемый пост)
Задаю такой вопрос потому что заинтересован в написании программы которая бы работала под как можно большем количеством операционных систем.

Зависит от того какие требования предъявляются программе. Если она будет драйвером для устройства то скорее всего возникнут неразрешимые проблемы. Вернее не останется выбора кроме как предоставить конечному пользователю несколько исходников под все платформы (как это делает Qt и многие другие). Либо испищрить (ужас какое слово) исходники всякими проверками с дефайнами.

Цитата(Взюх @  1.8.2008,  21:33 Найти цитируемый пост)
В связи с этим посоветуйте и компилятор который позволит написать такую программу.   

Любой компилятор, который существует на всех операционных системах, которые тебе нужны. Обычно это gcc (C/C++ и т.д). Может быть Java


--------------------
Национальная группа Russian Federation на QtCentre.
PM MAIL   Вверх
Взюх
Дата 2.8.2008, 00:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 41
Регистрация: 17.6.2006

Репутация: нет
Всего: нет



Насчет формата исполняемого файла, как с этим можно бороться ? 
PM MAIL   Вверх
chipset
Дата 2.8.2008, 09:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4071
Регистрация: 11.1.2003
Где: Seattle, US

Репутация: 2
Всего: 164



Цитата(Взюх @  1.8.2008,  14:52 Найти цитируемый пост)
Насчет формата исполняемого файла, как с этим можно бороться ?  

1. Использовать Java.
2. Никак, компилировать несколько версий под часто используемые платформы и распространять исходники для остальных.


--------------------
Цитата(Jimi Hendrix)
Well, I stand up next to a mountain
And I chop it down with the edge of my hand
PM MAIL WWW   Вверх
Lazin
Дата 2.8.2008, 10:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 27
Всего: 154



а еще лучше, на python smile 
PM MAIL Skype GTalk   Вверх
Взюх
Дата 2.8.2008, 10:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 41
Регистрация: 17.6.2006

Репутация: нет
Всего: нет



Ява не подходит: потому что она требует наличия виртуальной машины на аппарате. А задача написать программу которой бы не требовалось ничего для ее работы.

Добавлено через 1 минуту и 2 секунды
Под ничего иметься в веду, минимум который есть в наличии у каждой ОП.
PM MAIL   Вверх
Взюх
Дата 2.8.2008, 10:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 41
Регистрация: 17.6.2006

Репутация: нет
Всего: нет



Sartorius
Можешь другими словами описать то что ты написал, мне непонятно  smile .  
PM MAIL   Вверх
Fin
Дата 2.8.2008, 11:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дракон->Спать();
**


Профиль
Группа: Участник
Сообщений: 687
Регистрация: 4.1.2006

Репутация: нет
Всего: 10



Взюх, Чудес не бывает. За все нужно платить, даже за чудеса. Начнем с самого начала. 
1) Разный формат бинарных исполняемых файлов. Это говорит о том, что придется перекомпилировать проект по крайней мере на несколько платформ. 
2) Если в ПК используется практически везде одна и таже линейка процессоров (Intel x86), то мобильные устройства не факт, что будут использованы одни и теже  процессоры в двух разных моделях у двух разных производителей. Кстати даже в стационарных системах не обязательно будет стоять процессор от Intel. Например Sun предлагает свои сервера на процессоре Intel и также на SPARC.

Так что, если хочеш полностью переносимую програмную систему, то на данный момент это Java. Microsoft, при создании своей .Net технологии, обешало также и кроссплатформенность. Но пока что, я лично не вижу сдвигов в этом направлении.

Это сообщение отредактировал(а) Fin - 2.8.2008, 11:08


--------------------
Пролетал мимо.
PM MAIL   Вверх
Взюх
Дата 2.8.2008, 11:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 41
Регистрация: 17.6.2006

Репутация: нет
Всего: нет



Всем большое спасибо

Остановлюсь на варианте : писать отдельные программы под отдельные платформы.

PM MAIL   Вверх
sinmaster
Дата 2.8.2008, 23:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 29.7.2008

Репутация: нет
Всего: нет



Взюх
можешь писать на чистом Си (ANSI C), и используя ф-ции только из стандартной библиотеки языка Си (http://en.wikipedia.org/wiki/C_standard_library). теоретически, твои сорцы будут компилиться под любой ОСью, имеющей Сишный компилер. короче, все распространенные ОСи.
всю специфику работы твоей проги под разными ОСями выноси по отд. сорцам, заворачивай такие ф-ции в обертки и отдельно реализуй конкретные версии под все ОСи которые ты хочешь поддерживать.
PM MAIL   Вверх
Взюх
Дата 3.8.2008, 09:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 41
Регистрация: 17.6.2006

Репутация: нет
Всего: нет



sinmaster
какой для этого нужен компилятор?
PM MAIL   Вверх
anatox91
Дата 3.8.2008, 10:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


программист-самоучка
**


Профиль
Группа: Участник
Сообщений: 699
Регистрация: 12.1.2008
Где: ++Украина.Крым++

Репутация: 1
Всего: 13





--------------------

The code is the design ©

Sony VAIO VGN-FW480J

user posted image
PM MAIL ICQ   Вверх
bsa
Дата 3.8.2008, 17:41 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



Цитата(Взюх @ 3.8.2008,  09:58)
sinmaster
какой для этого нужен компилятор?

имей в виду, что в стандарте нет упоминаний про GUI, поэтому сомневаюсь, что программы пойдут под Windows Mobile.
Я бы советовал обратить внимание на QT...
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0934 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.