Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > crossplatform


Автор: wlad110 24.6.2009, 19:15
Использование библиотек STL, Qt, boost гарантирует что код созданный под windows xp без изменений(ну или почти без них) скомпилируется под любимой ubuntu? smile ну или наоборот.
спасибо

Автор: azesmcar 24.6.2009, 19:16
Цитата(wlad110 @  24.6.2009,  19:15 Найти цитируемый пост)
Использование библиотек STL, Qt, boost гарантирует что код созданный под windows xp без изменений(ну или почти без них) скомпилируется под любимой ubuntu? smile ну или наоборот.
спасибо 

В теории - да, на практике - нет.
Еще надо следить за своим кодом и сделать его максимально портируемым.
В теории для этого достаточно писать по стандарту, на практике - нет. Компиляторы писали люди (впрочем как и STL), и там тоже встречаются ошибки и баги. Код который полностью соответствует стандарту может не работать на одном компиляторе и работать на другом. Но по большей части этого достаточно. Скомпилировать потом на линукс не составит большого труда.

Цитата(wlad110 @  24.6.2009,  19:15 Найти цитируемый пост)
ну или почти без них

Да, изменения будут незначительные.

Автор: wlad110 24.6.2009, 19:24
Цитата(azesmcar @ 24.6.2009,  19:16)
Цитата(wlad110 @  24.6.2009,  19:15 Найти цитируемый пост)
Использование библиотек STL, Qt, boost гарантирует что код созданный под windows xp без изменений(ну или почти без них) скомпилируется под любимой ubuntu? smile ну или наоборот.
спасибо 

В теории - да, на практике - нет.
Еще надо следить за своим кодом и сделать его максимально портируемым. В теории для этого достаточно писать по стандарту, на практике - нет smile

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

Цитата(azesmcar @ 24.6.2009,  19:16)
Да, изменения будут незначительные.

ну тогда нормально , для моего проекта )) спасибо.


Автор: azesmcar 24.6.2009, 19:27
Цитата(wlad110 @  24.6.2009,  19:24 Найти цитируемый пост)
эмм.. а как можно решить проблему?

Никак, проблемы незначительные и возможно даже не возникнут. В идеале надо
1. Писать в соответствии со стандартом.
2. Избегать конструкций которые implementation defined по стандарту. 
3. Быть аккуратным с размерами переменных (sizeof(int) не обязательно равно 4).

Автор: Andrew121 24.6.2009, 19:32
Цитата(wlad110 @  24.6.2009,  19:15 Найти цитируемый пост)
скомпилируется под любимой ubuntu?

Какое отношение имеет конкретно этот дистрибутив.

В каждой либе из перечисленных тобой, есть ремарки к каждой ОС.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)