November 3rd, 2005

nyaload

Winnie.Build

Захотел проставить в журнале теги. Посмотрел, как это сделал aruslan , почему-то расхотелось. Не знаю, как лучше поставить. Вроде бы достаточного одного non_c++ :)

Есть идея написать make на С++. Ну, вроде как html здесь

И что бы можно было автоматически распараллеливать между компьютерами. Лог выводить прямо в output студии.

Уже начал спрашивать здесь

Если вы знаете, что это охренительно сложно, то попробуйте отговорить меня ^_^

PS. cyberzx, не знаешь, есть ли инструменты для распараллеливания boost jam build? если есть, то велосипед писать не буду.
nyaload

C--

У меня постоянно претензии к родителю С++ - к языку С. Решил начать их записывать.

Вот конкретно сейчас меня возмущает макрос NDEBUG.
Вот зачем в его названии буква N? Это меня каждый раз путает.
Замечу, что в 80 процентов случаев он используется как

#ifndef NDEBUG
проверочный-отладочный код
#endif

каждый раз я в голове прокручиваю это двойное отрицание и получаю стресс, от того что опечатка приведет к губительным последсвиям(см. дальше). На автомате в С писать нельзя! Зачем усложнять жизнь программисту?!!

Гораздо проще #ifdef _DEBUG
Является ли это ms-specific? имхо, нет. у любого компилятора можно определить дополнительные макросы из командной строки.

Далее. Предположим, что мы опечатались и незаметили.
#ifndef NDEDUG
Этот ненужный код полезет в релиз. И хорошо, если он только проверочный и написан чисто.
Но отладочный код пишут часто левой лапой, с фиксированными массивами и глобальными переменными, с использованием библиотек, которых нет у пользователя (VTuneAPI, DbgHep, ... ), без проверок, что FILE *f = fopen("C:/log.txt") вернул не NULL.

И все из-за маленькой опечатки!

Если же я сделаю опечатку
#ifdef _DEDUG

то я мнговенно это обнаружу, поскольку провожу в debug 95% времени.
И даже если не обнаружу, на релиз это никакого влияния не окажет.

Продолжение следует. Помечать свои претензии к С/C++ буду тегом c--
  • Current Mood
    angry rrr
  • Tags