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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> К вопросу об аппаратной совместимости программ, Есть ли сейчас такая проблема? 
V
    Опции темы
Joe_Black
Дата 6.2.2008, 16:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Привет!
Человек я на форуме новый, но тема эта, уверен, не обсуждалась.
Интересует вот что. Пусть будет написана какая-то программа на С++ по обработке битовых полей (может быть массивов их). Есть ли вероятность того, что она не будет работать на разных машинах по той причине, что разное железо может быть? Какое-то время назад такое было 100%. А вот что сейчас - не знаю. Может и нет такой проблемы больше? Может уже сошли с дистанции производители "нестандартного" оборудования?
Вопрос, наверняка поставлен не совсем корректно, но кто в курсе аппаратной несовместимости, тот надеюсь поймет о чем речь. Буду признателен за ваши отклики.
J.B.
PM MAIL   Вверх
Lazin
Дата 6.2.2008, 17:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Ничего не изменилось))
PM MAIL Skype GTalk   Вверх
MAKCim
Дата 6.2.2008, 17:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

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



Цитата(Joe_Black @  6.2.2008,  16:36 Найти цитируемый пост)
Интересует вот что. Пусть будет написана какая-то программа на С++ по обработке битовых полей (может быть массивов их). Есть ли вероятность того, что она не будет работать на разных машинах по той причине, что разное железо может быть?

если есть компилятор С++ под соответствующий тип архитектуры, то все будет работать как надо


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
Joe_Black
Дата 6.2.2008, 17:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



понял. Спасибо! Жаль конечно, что все осталось по-старому. ладно. будет стараться победить эту ситуацию
Тему считаю закрытой.
PM MAIL   Вверх
SaDFromSpb
Дата 7.2.2008, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(MAKCim @  6.2.2008,  17:34 Найти цитируемый пост)
если есть компилятор С++ под соответствующий тип архитектуры, то все будет работать как надо

Так С++ позволяет с "самым низом" - двоичным представлением данных работать, что на прямую с железом завязано. Компилятор тут уже побоку.
Вот я в частности столкнулся с проблемой little endian/ big endian когда-то. Передавал данные, между машинами с разной архитектурой.

Код

  int a = 4;

  char* ch = reinterpret_cast<char*>(&a);

  for (int i=0; i<sizeof(int); ++i)
    cout << static_cast<int>(ch[i]) << ' ';
  cout << endl;


На интеловской платформе выведется одно, а вот на спарке каком-нибудь совсем другое. 

Это сообщение отредактировал(а) SaDFromSpb - 7.2.2008, 13:38


--------------------
"За исключением части, касающейся потоков, библиотека Loki написана на стандартном языке С++. Увы, это означает, что многие современные компиляторы не смогут работать с ней в полном объеме." (А. Александреску. Modern C++ design. 2001)
PM   Вверх
MAKCim
Дата 7.2.2008, 14:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

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



SaDFromSpb
если напрямую использовать зависящие от архитектуры конструкции, то надо быть готовым к разному поведению
кода на этих архитектурах
Цитата(SaDFromSpb @  7.2.2008,  13:31 Найти цитируемый пост)
Так С++ позволяет с "самым низом" - двоичным представлением данных работать, что на прямую с железом завязано. Компилятор тут уже побоку.

тогда о какой кроссплатформенности вообще может идит речь?
если ты работаешь с "самым низом", то в любом случае придется учитывать возникающие трудности
не вижу, где я не прав


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

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


Опытный
**


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

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



Цитата(MAKCim @  7.2.2008,  14:41 Найти цитируемый пост)
не вижу, где я не прав 

Ну вот про эти самые возникающие трудности не сказал. Мой пример в предыдущем посте с применением соответсвующего компилятора будет работать "как надо", только по-разному на разных платформах.  smile 
Да пофиг, тут уже понятно все вроде как....



--------------------
"За исключением части, касающейся потоков, библиотека Loki написана на стандартном языке С++. Увы, это означает, что многие современные компиляторы не смогут работать с ней в полном объеме." (А. Александреску. Modern C++ design. 2001)
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

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

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


 




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


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

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