[bash.im] [IT Happens] [zadolba.li]

IT Happens

Клиент и саппорт. Разработчик и заказчик. Программист и программа. Вести с фронтов.

#79: Изобретатель велосипедов

9 ноября 2008, 09:00

рейтинг: 665

Позвал меня молодой товарищ - не компилится в Borlanc C++ Builder новый проект со старыми файлами. Модули исправные - только что сам компилировал.

При попытки компиляции в новом проекте даёт ошибку в глубинах wtypes.h, на строку LONGLONG int64;

Долгая медитация вывела на потрясающей по своей глубине строчку, гласящую #define __int64 int64. LONGLONG, понятное дело, где-то в wtypes определён. А wtypes совсем не в курсе, что есть на свете извращенцы, которые переопределяют int64, да ещё и таким суровым образом.

В результате сейчас юный гений сидит и мрачно делает автозамену строк вида "([\(\s])(u)?int(\d{1,2}) " -> "$1(unsigned) __int$3 ", так как в его творениях мы нашли и int8, и int16, переопределенные таким образом.

А виновник торжества сидит и с наивным видом оправдывается - "ну я ж не знал", "ну это ж было для другого писано", "и ваще, чо вы от меня хотите", "я не знал, что __intXX - стандартная конструкция" и так далее. Так что я совсем не удивлюсь, если мы реально обнаружим #define TRUE FALSE где-нибудь в глубинах его кода.

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

 
 
текст или номер истории
реклама
обратная связь
Хотите разместить рекламу?
Информация для рекламодателей.

Вопросы, предложения, что-то не так на сайте? Пишите в саппорт!
статистика
Рейтинг@Mail.ru