Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2006.03.26;
Скачать: [xml.tar.bz2];

Вниз

Помогите понять код на С   Найти похожие ветки 

 
Andy BitOff ©   (2006-03-06 01:57) [0]

Я С вообще не знаю, но по понятным причинам, вообщем и целом прочитать код на нем могу, но опять же, не всегда ;)
Помогите с этим кусочком:

long GetBitmapDataSize(LPBITMAPINFOHEADER pdata)
{
   ULONG sizBMI;

   if (!pdata) return FALSE;

   switch (pdata->biBitCount) {
       case 24:                                      // has color table
           sizBMI = sizeof(BITMAPINFOHEADER);
           break;
       case 16:
       case 32:
  if (pdata->biCompression==3)
   sizBMI = sizeof(BITMAPINFOHEADER)+sizeof(DWORD)*3;
  else
   sizBMI = sizeof(BITMAPINFOHEADER);
           break;
       default:
           sizBMI = sizeof(BITMAPINFOHEADER)+sizeof(RGBQUAD)*(1<<pdata->biBitCount);
           break;
   }

return (sizeof(BITMAPFILEHEADER)+sizBMI+pdata->biSizeImage);
}


Не понятно, почему 16 не описано или будет выполнятся код на 32?
И default: это тоже, что у нас else в case?


 
Andy BitOff ©   (2006-03-06 02:05) [1]

И еще. Что значит:

1<<

в

*(1<<pdata->biBitCount);


 
Defunct ©   (2006-03-06 02:30) [2]

> И default: это тоже, что у нас else в case?
Да

> Не понятно, почему 16 не описано или будет выполнятся код на 32?
После ":" не стоит ";" это все равно что в Delphi
16, 32: ...

> И еще. Что значит:
> 1<<

1 shl pdata.biBitCount


 
Defunct ©   (2006-03-06 02:33) [3]

Зы, для пресечения других возможных вопросов почитайте на досуге:
http://www.opennet.ru/docs/RUS/ansi-c/


 
Andy BitOff ©   (2006-03-06 02:38) [4]

Спасибо. Вообщем я так и думал, только с 1<< не знал.
За ссылочку спасибо, но думаю, как-нибудь в другой раз =)


 
Marser ©   (2006-03-06 10:38) [5]

Мне всё-таки кажется, что книга по С/С++ обязательно должна занимать видное место в библиотеке большинства программистов...


 
DiamondShark ©   (2006-03-06 11:43) [6]

Книги по С/С++ надо сжечь на городской площади.


 
wicked ©   (2006-03-06 11:55) [7]

DiamondShark ©   (06.03.06 11:43) [6]

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


 
Alkid ©   (2006-03-06 12:34) [8]


> Книги по С/С++ надо сжечь на городской площади.

А оказывается упёртые фанатики есть не только среди любителей
C/C++. ;)
Я знал, я знал! :)


 
Cashmare ©   (2006-03-06 13:26) [9]

И за что СИняки не любят ПАСквилянтов и наоборот? Разные религии? :)))


 
palva ©   (2006-03-06 13:59) [10]

Defunct ©   (06.03.06 02:30) [2]
После ":" не стоит ";" это все равно что в Delphi
16, 32: ...

Точки с запятой недостаточно. На самом деле case 16: является аналогом метки. То есть управление будет проваливаться вниз с одного кейса на другой, пока не встретит break;


 
Igorek ©   (2006-03-06 14:16) [11]


> Книги по С/С++ надо сжечь на городской площади.

Книги нельзя сжигать.


 
Jeer ©   (2006-03-06 14:20) [12]

palva ©   (06.03.06 13:59) [10]

> будет проваливаться вниз с одного кейса на другой


что довольно удобно, т.к. расширяет возможности case :)


 
Alkid ©   (2006-03-06 15:02) [13]


> И за что СИняки не любят ПАСквилянтов и наоборот? Разные
> религии? :)))

Наблюдал кучу холиваров на эту тему.
Как человек, любящий C/C++ _И_ Delphi (и C# :) )
Взираю на это с неподдельным недоумением :)
Пришёл к выводу, что единственная причина такой нелюбви - это
недостаток мозгов и/или жизненного опыта. Как правило холиварщики - это подростки со свойственным им максимализмом и категоричностью :)


 
Cashmare ©   (2006-03-06 15:12) [14]


> Alkid ©   (06.03.06 15:02) [13]
>
> > И за что СИняки не любят ПАСквилянтов и наоборот? Разные
>
> > религии? :)))
>
> Наблюдал кучу холиваров на эту тему.
> Как человек, любящий C/C++ _И_ Delphi (и C# :) )
> Взираю на это с неподдельным недоумением :)
> Пришёл к выводу, что единственная причина такой нелюбви
> - это
> недостаток мозгов и/или жизненного опыта. Как правило холиварщики
> - это подростки со свойственным им максимализмом и категоричностью
> :)


А я, вообще-то, женщин люблю :)))
Но программы приходится писать и на Delphi, и на С. И, по-моему, и у того, и у другого, есть свои плюсы и минусы, но области применения у них немного разные, поэтому сравнивать их нельзя. А знать оба иногда просто надо и все.


 
Alkid ©   (2006-03-06 15:17) [15]


> А я, вообще-то, женщин люблю :)))
> Но программы приходится писать и на Delphi, и на С. И, по-
> моему, и у того, и у другого, есть свои плюсы и минусы,
> но области применения у них немного разные, поэтому сравнивать
> их нельзя. А знать оба иногда просто надо и все.

Дай я тебе руку пожму! :)


 
Cashmare ©   (2006-03-06 15:22) [16]


> Alkid ©   (06.03.06 15:17) [15]
>
> > А я, вообще-то, женщин люблю :)))
> > Но программы приходится писать и на Delphi, и на С. И,
>  по-
> > моему, и у того, и у другого, есть свои плюсы и минусы,
>  
> > но области применения у них немного разные, поэтому сравнивать
>
> > их нельзя. А знать оба иногда просто надо и все.
>
> Дай я тебе руку пожму! :)


Жми :)))


 
Jeer ©   (2006-03-06 15:30) [17]

Alkid ©   (06.03.06 15:02) [13]


> причина такой нелюбви - это
> недостаток мозгов и/или жизненного опыта


Ну не будем так строги:))

У них все еще впереди или есть оправдывающие обязательства.

Я очень давно пользуюсь связкой "ansi-c" + Delphi.
Результат - правильный.


 
Alkid ©   (2006-03-06 15:35) [18]


> У них все еще впереди или есть оправдывающие обязательства.

Обязательства или обстоятельства? Если обстоятельства, то я понимаю...
недостаток и всё такое... :)
А какие обязательства могут тут быть? Или они дали клятву верности
языку программирования и обязаны устраивать джихад против неверных? :)


> Я очень давно пользуюсь связкой "ansi-c" + Delphi.
> Результат - правильный.

 Дык :)


 
Nick Denry ©   (2006-03-06 15:56) [19]

Igorek ©   (06.03.06 14:16) [11]

> Книги по С/С++ надо сжечь на городской площади.

Книги нельзя сжигать.


451 по Фарингейту?


 
Cashmare ©   (2006-03-06 16:02) [20]

> Книги по С/С++ надо сжечь на городской площади.

Книги нельзя сжигать.


Америкосовский фильм "Послезавтра". Цитата:
- Нельзя жечь книги!
- А чем же еще топить?
- Нет! Это абсолютно исключено!
- Лучше околеть?
- Пойду еще принесу...



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2006.03.26;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.054 c
2-1141838875
Adios
2006-03-08 20:27
2006.03.26
Проблема с процедурой


15-1141379233
Mozart
2006-03-03 12:47
2006.03.26
Звуковой файл в линию через модем...


15-1139987532
вразлет
2006-02-15 10:12
2006.03.26
Российский спорт пошел вверх?


2-1141914459
oleg__
2006-03-09 17:27
2006.03.26
TRxFolderMonitor


15-1141724367
Антон К.
2006-03-07 12:39
2006.03.26
VPN





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский