![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
hoz |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 139 Регистрация: 27.6.2013 Репутация: нет Всего: нет |
Читаю книгу. Написано, что существуют проблемы переносимости программ. Я одного не понимаю. Имею ввиду программ в каком виде? Т.е. в скомпилированном? Но ведь множество программ, которые уже написаны (имею ввиду без ошибок в логике) и которые можно скачать, скажет так, в интернете работают стабильно. Единственно, чаще всего зависит только от версии операционной системы и всё.
Имеется ввиду это? |
|||
|
||||
Фантом |
|
|||
![]() Вы это прекратите! ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1516 Регистрация: 23.3.2008 Репутация: 4 Всего: 49 |
||||
|
||||
hoz |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 139 Регистрация: 27.6.2013 Репутация: нет Всего: нет |
Фантом,
Вы имеете виду версий или разновидностей ОС? Если вообще систем, то на вскидку Windows, MacOS, FreeBSD, NetBSD. Solaris, пачка разновидностей Linux-подобных систем. Это сообщение отредактировал(а) hoz - 15.3.2014, 21:54 |
|||
|
||||
Фантом |
|
|||
![]() Вы это прекратите! ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1516 Регистрация: 23.3.2008 Репутация: 4 Всего: 49 |
Замечательно. А теперь поищите в интернете "множество программ", которые доступны в уже скомпилированном виде и пригодны для запуска на всех этих системах. Когда надоест искать, подумайте, почему поиск практически безрезультатен... |
|||
|
||||
baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 15 Всего: 101 |
hoz, скомпилированная программа может исполняться только на целевой платформе (тип процессора+OC).
программы, исполняемые в рамках специальной среды (например JVM, .NET), требуют наличие этой среды. на разных платформах реализация сред может отличаться. например, .NET разрабатывался только для Windows. под *nix есть проект Mono, но он не на 100% совместим. ну и есть программы на интерпретируемых языках. здесь требуется, что бы интерпретаторы одинаково интерпретировали и содержали одинаковые функции, что тоже не всегда бывает. все это значит, что готовая программа в общем случае не переносима на другую платформу. вобщем-то и исходный код без определенных усилий не переносим. нужно учитывать особенности компилятора/интерпретатора на разных платформах плюс делать соответствующий выбор прикладных библиотек для реализации интерфейса пользователя, сетевых задач, БД и т.д. так что проблема есть, и совсем не простая |
|||
|
||||
hoz |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 139 Регистрация: 27.6.2013 Репутация: нет Всего: нет |
baldina, с программами я уяснил. По крайне мере теоретически въехал.
А с библиотеками дело обстоит так же? Например, если я пишу библиотеки, которые в будущем хочу загнать в .dll. Это ж не означает что для WinXP их придётся перелопать, для Win 7 тоже самое, для Win 8 опять же лопатить и тд и тп? |
|||
|
||||
vinter |
|
|||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 8 Всего: 56 |
dll, в общем случае, будут работать на любой, современной, версии windows. |
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 35 Всего: 223 |
Не совсем. DLL написанные под более старую Windows будут работать на более новой, и то не всегда. Даже между версиями Windows есть некоторые проблемы совместимости, MS обновляет интерфейсы, в том числе и старые. Не зря в Win7 есть режимы запуска программ в разных режимах совместимости. |
|||
|
||||
vinter |
|
|||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 8 Всего: 56 |
xvr, это уже специфика. В общем случае dll работает везде, как и exe. Естественно могут возникнут проблемы с запуском на XP и ниже, если заранее не обеспокоится, но это , повторюсь, специфика.
|
|||
|
||||
baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 15 Всего: 101 |
hoz, если говорить о переносимости твоей библиотеки, то, для простоты полагая, что она сторонних библиотек не использует, и разрабатывается сугубо под windows, достаточно использовать лишь api, присутствующее в самой старой oc (сервис паки, кстати, могут содержать дополнения api). ну и выбрать по вкусу процессор/разрядность.
если делать проект в студии по умолчанию (win32x86, безо всяких sse), и не использовать самых новых функций, оно будет в большинстве случаев совместимо, как сказал vinter. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "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. |