Закончил перевод хорошей статьи про strict aliasing. Перевод здесь.
воскресенье, 23 декабря 2012 г.
пятница, 23 ноября 2012 г.
четверг, 22 ноября 2012 г.
О вреде методов объектов в C
В предыдущем посте я показал как в Си можно использовать вызов функций в стиле, похожем на C++. Теперь об основной причине, по которой так делать не стоит.
суббота, 10 ноября 2012 г.
Методы объекта в C
Когда плюсистов насильно пересаживают на Си, одним из пунктов ломки по нормальным языкам является отсутствие адекватных объектов и их методов. Но если становится совсем плохо, методы можно легко реализовать.
воскресенье, 7 октября 2012 г.
Получаем граф потока управления в gcc.
Для чего вообще нужны дампы компилятора? Обычно для отладки самого компилятора, в некоторых случаях для анализа программы сторонними инструментами.
четверг, 27 сентября 2012 г.
понедельник, 24 сентября 2012 г.
воскресенье, 16 сентября 2012 г.
lstlistings и кириллица
При использовании кириллицы в листингах возникает ряд проблем, решение которых разбросано где-то по интернетам. Здесь я опишу некоторые приёмы, позволяющие решить возникающие проблемы.
среда, 29 августа 2012 г.
пятница, 10 августа 2012 г.
Как я пытался собрать gentoo при помощи clang.
Недавно случайно убил систему и под такое дело решил немого поэксперементировать. Сразу оговорюсь, что на практике менять системный компилятор не особо нужно, но если Ваши части тела жаждут приключений - это то, что Вы искали.
суббота, 28 июля 2012 г.
Создаём мануалы
Рано или поздно при написании утилиты возникает необходимость составления пользовательской документации по ней. Традиционно такой документацией является man страничка.
пятница, 13 июля 2012 г.
Проба пера на OCaml
Решил покурить OCaml. Первой (на самом деле нет) прогой на нём стал алгоритм Дейкстры преобразования выражений в польскую нотацию. Приводить алгоритм я здесь не буду, а вот ощущениями от языка поделюсь.
воскресенье, 1 июля 2012 г.
понедельник, 25 июня 2012 г.
пятница, 15 июня 2012 г.
Расставить идентификаторы при помощи xquery
Возникла как-то задача расставить идентификаторы для определённого набора объектов в xml БД. Судя по выдаче гугла по этому вопросу или эта задача возникла только у меня, или она на столько тривиальна, что не стоит внимания.
четверг, 14 июня 2012 г.
Обойти 1000000 звёзд и не упасть.
В предыдущем посте написал, что при попытке индексирования 1000000 элементов у меня падала БД BaseX. Теперь выяснил почему.
вторник, 12 июня 2012 г.
Этот тормознутый xquery.
Я и раньше замечал, что xquery не блещет скоростью. Но недавно попытался решить эту задачу с помощью онного и убедился, что при сколько-нибудь сложных запросах xquery становится совершенно непригоден.
среда, 9 мая 2012 г.
понедельник, 23 апреля 2012 г.
Git. Submodule. Грабли.
Переход от одного средства разработки к другому - вообще довольно затруднительное занятие, почти всегда сопряжённое с трудностями, ошибками и неприятностями. Так и переход с svn на git. Последний вообще оказался довольно своеобразной системой. И здесь под своеобразием я понимаю не то, что он ведёт себя не как svn, а то, что его поведение не интуитивно.
вторник, 17 апреля 2012 г.
Запускаем valgrind в Gentoo.
Есть в gentoo одна довольно неприятная бага: в ней не работает valgrind. Причём с довольно интересной формулировкой:
Стандартные советы по исправлению данной ошибки не сработали, поэтому пришлось как всегда делать собственные костыли. Для начала я расскажу как я пытался это пофиксить, ибо выглядело оно довольно забавно. Если Вам влом всё это читать, то переходите к последнему абзацу - там дано окончательное решение.
valgrind: A must-be-redirected function
valgrind: whose name matches the pattern: strlen
valgrind: in an object with soname matching: ld-linux-x86-64.so.2
valgrind: was not found whilst processing
valgrind: symbols from the object with soname: ld-linux-x86-64.so.2
Стандартные советы по исправлению данной ошибки не сработали, поэтому пришлось как всегда делать собственные костыли. Для начала я расскажу как я пытался это пофиксить, ибо выглядело оно довольно забавно. Если Вам влом всё это читать, то переходите к последнему абзацу - там дано окончательное решение.
понедельник, 26 марта 2012 г.
Imagine Сup. Московский финал 2012.
Как-то незаметно прошёл год с предыдущего Imagine Cup, и вот в прошлую субботу состоялся московский финал 2012 года.
понедельник, 19 марта 2012 г.
суббота, 17 марта 2012 г.
вторник, 21 февраля 2012 г.
Пишем плагин для gcc. Часть 1.
Одной из крайне интересных фич, внедрённых в gcc 4.5 стала возможность создания плагинов для компилятора. К сожалению, в сети пока очень мало информации, описывающей данную возможность, а на русском языке её нет совсем. Что ж, постараюсь исправить эту ситуацию.
суббота, 18 февраля 2012 г.
пятница, 17 февраля 2012 г.
Я_обещаю_поставлять_патчи_с_ошибками...
Нет, меня конечно забавляет необходимость в alpha версиях gcc перед установкой вводить команду
но блин, прерывать из-за этого установку... Вот поставил я установку gcc в очередь команд и пошёл пить чай, а он грохнулся. Хорошо хоть спать не ушёл, а то под утро был бы сюрприз.
export I_PROMISE_TO_SUPPLY_PATCHES_WITH_BUGS=1
но блин, прерывать из-за этого установку... Вот поставил я установку gcc в очередь команд и пошёл пить чай, а он грохнулся. Хорошо хоть спать не ушёл, а то под утро был бы сюрприз.
воскресенье, 12 февраля 2012 г.
cannot find -lEGL
Обновления в генте - вещь всегда весёлая и приводящая к ошибкам, от которых у дебианщиков глаза по пять рублей делаются.
суббота, 11 февраля 2012 г.
суббота, 4 февраля 2012 г.
Диплом в LaTeX. Версия для МАИ. Часть 2.
Предисловие
Это вторая часть рассказа про то, как я писал диплом в МАИ. Первую можно посмотреть здесь, третья будет про составление презентации в beamer.пятница, 27 января 2012 г.
Диплом в LaTeX. Версия для МАИ. Часть 1.
Предисловие
В МАИ прежде чем выйти на защиту, необходимо сдать диплом и раздаточные материалы (презентацию) в КДП - Кабинет Дипломного Проектирования. Процесс этот не самый приятный и временами отдаёт маразмом. В интернетах существует методичка с требованиям и верстать диплом нужно в соответствии с ней. Это заметно уменьшит количество придирок и, как следствие, ненужных поездок в институт. В этой серии статей будут рассмотрены решения, применённые при вёрстке диплома, которые применил автор при сдаче дипломной работы в МАИ, на 8 факультете в 2012
году.
воскресенье, 22 января 2012 г.
PVS под лупой
В этой заметке будет рассмотрен PVS-Studio более внимательно. Для оценки работы инструментов статического анализа я создал несколько простеньких примеров и собираюсь рассказать как себя на них проявил этот инструмент. Итак, тестируется версия PVS-Studio 4.51, работа общего анализатора.
суббота, 14 января 2012 г.
Автоматические компьютеры существуют вот уже четверть века. Они сильно повлияли на наше общество в качестве инструментов, но их воздействие в этом качестве не более чем рябь на поверхности нашей культуры по сравнению с более глубоким влиянием, которое они окажут в качестве интеллектуального вызова, который не имеет прецедента в культурной истории человечества.Эдсгер Вибе Дейкстра. Смиренный программист. 1972 г.
Подписаться на:
Сообщения (Atom)