Страница 1 из 1
Прикол
Добавлено: 09 дек 2003, 16:34
vg
Не мог долго найти ошибку.
Код: Выделить всё
hdr->checksum = ( tmp, sizeof(APPHEADER) + sizeof(PSEUDOHDR));
А надо было написать
hdr->checksum =
net_checksum( tmp, sizeof(APPHEADER) + sizeof(PSEUDOHDR));
Прикол в том, что код первого варианта КОМПИЛИРОВАЛСЯ (VC++ 7.0).
Кто знает, как такое возможно?
Добавлено: 10 дек 2003, 12:41
Marmot
Вот за что мне нравится С++, так это за его бездонность...
Сколько его не учи, всегда найдётся что-нибудь такое, чего ты ещё не знаешь

Прямо-таки язык богов, непостижимый полностью для простых смертных.
Добавлено: 10 дек 2003, 12:53
Woozy
Marmot писал(а):Вот за что мне нравится С++, так это за его бездонность...
А то, о чём здесь написано, на C не распространяется? Я имею ввиду приведённый синтаксис.
Добавлено: 10 дек 2003, 12:59
папа Карло
Marmot писал(а):Вот за что мне нравится С++, так это за его бездонность...
Сколько его не учи, всегда найдётся что-нибудь такое, чего ты ещё не знаешь

Прямо-таки язык богов, непостижимый полностью для простых смертных.
любитель смолтолка

Добавлено: 10 дек 2003, 13:57
vg
2PetrL,
Спасибо за подсказку. Раз это допустимо (программируя на С/C++ много лет, я узнал об этом только сейчас

), то это, думаю, не есть хорошо. У меня это привело к потери нескольких часов поиска ошибки в коде. Бляха-муха. Хорошо, что подсказал. Вполне где-нибудь могли задать такой вопрос.
2Woozy,
>>А то, о чём здесь написано, на C не распространяется?
Я имею ввиду приведённый синтаксис.
Хочешь сказать, это синтаксис ANSI?
2Marmot,
Вот за что мне нравится С++, так это за его бездонность...
Сколько его не учи, всегда найдётся что-нибудь такое, чего ты ещё не знаешь
Прямо-таки язык богов, непостижимый полностью для простых смертных.
1) Ты бы ещё сказал "безбашенность".
2) Не надо учить. Всё не выучишь. Это не стихи. Владей только тем, что необходимо для решения практической задачи. Всё остальное - можно на кушетке с пирожком и чаем.
Добавлено: 10 дек 2003, 14:04
Marmot
Woozy писал(а):Marmot писал(а):Вот за что мне нравится С++, так это за его бездонность...
А то, о чём здесь написано, на C не распространяется? Я имею ввиду приведённый синтаксис.
Оооps, да лоханулся, давно не писал
Хотя о своих слов всё равно не отказываюсь, просто прошу их рассматривать Out of Context

Добавлено: 10 дек 2003, 14:08
Marmot
папа Карло писал(а):Marmot писал(а):Вот за что мне нравится С++, так это за его бездонность...
Сколько его не учи, всегда найдётся что-нибудь такое, чего ты ещё не знаешь

Прямо-таки язык богов, непостижимый полностью для простых смертных.
любитель смолтолка

Scheme (
http://www.scheme.com/tspl2d/ )

Добавлено: 10 дек 2003, 14:14
Marmot
vg писал(а):
2) Не надо учить. Всё не выучишь. Это не стихи. Владей только тем, что необходимо для решения практической задачи. Всё остальное - можно на кушетке с пирожком и чаем.
Очень ценный совет, особенно если учесть:
vg писал(а):
У меня это привело к потери нескольких часов поиска ошибки в коде.
Добавлено: 10 дек 2003, 14:35
vg
2Marmot,
Я не профи. Мне простительно.
Добавлено: 10 дек 2003, 14:57
Woozy
Marmot писал(а):Оооps, да лоханулся, давно не писал
А нам с тобой всё равно, мы практики, раз C++ включает в себя весь C (ну слегка запрещая вольности) значит, что работает в C - то и в C++.
Добавлено: 10 дек 2003, 15:00
Woozy
vg писал(а):Хочешь сказать, это синтаксис ANSI?
Не уверен, может быть ещё от отцов-основателей: Kernighan & Ritchie.
Добавлено: 10 дек 2003, 15:15
Marmot
Woozy писал(а):vg писал(а):Хочешь сказать, это синтаксис ANSI?
Не уверен, может быть ещё от отцов-основателей: Kernighan & Ritchie.
Точно:
Kernighan and Ritchie (1988) page 62:
"A pair of expressions separated by a comma is evaluated left to right, and the type and value of the result are the type and value of the right operand."
Добавлено: 10 дек 2003, 19:18
vg
2PetrL, Woozy, Marmot.
Спасибо, товарищи. Век живи - век учись.

Добавлено: 10 дек 2003, 19:28
vg
Модераторы, можно прикрыть. Мне всё ясно.