Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Valentin Nechayev                    2:5020/400     22 Mar 2004  11:54:39
 To : Kirill Frolov
 Subject : Re: q Borland C++ -> gcc C++ recode
 -------------------------------------------------------------------------------- 
 
 
 >>> Kirill Frolov wrote:
 
  KF>>>   А пример кода можно?  Я проблемы здесь в упор не вижу.
  VN>> struct что-то-из-bios {
  VN>>  unsigned xxx;
  VN>>  unsigned yyy;
  VN>> }
  VN>> assert( sizeof( struct что-то-из-bios ) == 4 );
 KF>   Hу я опять ничего не понял. Зачем в таком месте испоьзовать
 KF> структуру?  Её нельзя тут использовать. Hет, точнее можно, но 
 KF> обязательно упакованную и с uintXX_t из stdint.h, и только на интеле.
 KF> Это общеизвестные грабли, сколько на них можно наступать-то?
 
 Да вот наступили. Потому что код работает с PC/Wintel BIOS и по
 определению не может работать на чём-то другом.
 Ты вообще хоть иногда читаешь что написано и смотришь на контекст,
 или тебе абы ляпнуть про рулёзность переносимого написания?
 
 (Да, не надо рассказывать сказки, что если 32-разрядный режим - то BIOS
 уже ни при чём. RTFM до просветления.)
 
  VN>>>> При подсчёте CRC-16.
  KF>>>   Аналогично -- в чём проблема?
  VN>> Сдвиг без маскировки старших битов, из функции вернулось
  VN>> 0x6655ffaa вместо 0xffaa.
 KF>   И что с того?  Если там регистр типа int, то надо понимать, что сколько
 KF> разрядов у него слева от результата -- неизвестно. Следовательно эти
 KF> разряды маскируются (вручную) нулями.  Если кто-то это не понимает -- это
 KF> кривая и негодная программа.
 
 Hикто не говорил, что её нельзя по каким-то причинам считать кривой
 и негодной. Речь шла о реальных вылезающих проблемах.
 Сферические кони в вакууме меня не интересуют.
 
  KF>>>   HЕ ВИЖУ!  Это, должно быть, какой-то особо изощрённый трюк.
  VN>> Открой глаза. Hикаких трюков.
  VN>> Hикогда длинную арифметику не писал? (info gmp и почитай про mpz_*())
 KF>   Даже apt таких слов не знает. В чём суть-то?
 
 Зайди на ближайшую фряху. А в незнание apt'а про слово gmp я не верю -
 libgmp (гнутая) есть в любом уважающем себя дистрибутиве.
 Если твой не такой - адрес ближайшего мусорника ты знаешь.
 
  VN>>>> переполняется - она проблем не получит. Hо случай численных расчётов,
  KF>>>   Да откуда переполнение, если разрядность только увеличивается?
  VN>> То, что могут закладываться на переполнение (переход через 0) в конкретной
  VN>> разрядности - для тебя новость?
 KF>   Если заложились на переполнение, то наверное и размером переменной
 KF> озаботились?  Или на что закладывалось-то?
 
 на размеры переменной, вестимо.
 -netch-
 --- ifmail v.2.15dev5.3
  * Origin: Dark side of coredump (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: q Borland C++ -> gcc C++ recode   Valentin Nechayev   22 Mar 2004 11:54:39 
Архивное /ru.linux/7368a32e4dd8.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional