| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > К вопросу об аппаратной совместимости программ |
| Автор: Joe_Black 6.2.2008, 16:36 |
| Привет! Человек я на форуме новый, но тема эта, уверен, не обсуждалась. Интересует вот что. Пусть будет написана какая-то программа на С++ по обработке битовых полей (может быть массивов их). Есть ли вероятность того, что она не будет работать на разных машинах по той причине, что разное железо может быть? Какое-то время назад такое было 100%. А вот что сейчас - не знаю. Может и нет такой проблемы больше? Может уже сошли с дистанции производители "нестандартного" оборудования? Вопрос, наверняка поставлен не совсем корректно, но кто в курсе аппаратной несовместимости, тот надеюсь поймет о чем речь. Буду признателен за ваши отклики. J.B. |
| Автор: Lazin 6.2.2008, 17:02 |
| Ничего не изменилось)) |
| Автор: Joe_Black 6.2.2008, 17:38 |
| понял. Спасибо! Жаль конечно, что все осталось по-старому. ладно. будет стараться победить эту ситуацию Тему считаю закрытой. |
| Автор: SaDFromSpb 7.2.2008, 13:31 | ||||
Так С++ позволяет с "самым низом" - двоичным представлением данных работать, что на прямую с железом завязано. Компилятор тут уже побоку. Вот я в частности столкнулся с проблемой little endian/ big endian когда-то. Передавал данные, между машинами с разной архитектурой.
На интеловской платформе выведется одно, а вот на спарке каком-нибудь совсем другое. |
| Автор: MAKCim 7.2.2008, 14:41 | ||
| SaDFromSpb, если напрямую использовать зависящие от архитектуры конструкции, то надо быть готовым к разному поведению кода на этих архитектурах
тогда о какой кроссплатформенности вообще может идит речь? если ты работаешь с "самым низом", то в любом случае придется учитывать возникающие трудности не вижу, где я не прав |
| Автор: SaDFromSpb 7.2.2008, 15:15 |
Ну вот про эти самые возникающие трудности не сказал. Мой пример в предыдущем посте с применением соответсвующего компилятора будет работать "как надо", только по-разному на разных платформах. Да пофиг, тут уже понятно все вроде как.... |