// archives

Programming

This category contains 25 posts

Проблемы с wchar_t: wprintf конфликтует с printf

Как вы думаете, что напечатает следующий код? Вот и не угадали! Напечатает он:   Оказывается, нельзя смешивать wide-character и character функции работы с одним и тем же файлом. Любой открытый файл имеет атрибут wide-character oriented либо byte oriented. И первый вызов функции I/O в файл устанавливает orientation атрибут файла: в зависимости, что мы вызвали wprintf() или printf() [...]

Резервное слово small в VisualStudio SDK

Адъ. Долго разбирался почему код не компилируется. Понял, что не нравится слово small. Но почему? Ответ оказался прост и ужасен: C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include\RpcNdr.h (149-155): Втихомолку резирвировать слово и включить это в свой SDK — Мелкософт, что ты курил?!

False positive vs false negative vs true positive vs true negative

Вечно путаю все эти виды ошибок. Поэтому записываю здесь, чтобы можно было быстро подсмотреть. Итак, проводим эксперимент (или любое другое действо), где есть проверка (появления) некоторого события. Тогда, результат нашей проверки можно охарактеризовать сабжевыми словами исходя из следующей схемы: True — правильно сделали, что … False — лопухнулись, что … Positive — нашли появление события [...]

Разделитель для sed — вместо экранирования символов

Писал простенькое такое правило для sed. Нужно было заменить что-то на путь до текущей директории. Что-то вроде : проблема в том, что $PWD раскрывается в путь (например /space/user/me/) и символ ‘/’ там никак не заэкранирован. В результате ломается формат команды ‘s‘. Решение очень простое — используем почти любой другой символ как разделитель, например ’#‘: Дело в [...]

Gdb: запуск программ с перенаправленным вводом/выводом

Эту инфу также можно найти в моем микро how-to по gdb. Сейчас новая проблема: как запустить программу с перенаправленным вводом/выводом? Например: Куча сообщений об ошибке и все. Чтобы все запустилось правильно, используем незадокументированную опцию ‘-ex’:

Gdb не видит текущую директорию программы

Недавно отлавливали ошибку в программе — функция open() не могла открыть файл по относительному пути. Магия какая-то. В результате, оказалось, что команда pwd дебаггера gdb показывает не текущую директорию программы, а «собственную» текущую директорию (которую можно поменять командой cd). Если программа меняла свою текущую рабочую директорию с помощью chdir(), то gdb на комманду pwd все-равно [...]

WordPress: быстро отключаем нотификации об обновлении плагина

У меня есть плагин для wodpress, который я немало доработал вручную. С появлением новой версии этого плагина wordpress упорно предлагает его обновить, тем самым все мои «изменения» будут потеряны. Плагин работает хорошо, ничего нового в этом обновлении не предвидится, но постоянное и назойливое предложение его обновить уже утомило. Все гениальное — просто, сказал я и [...]

Feed-on-feeds с уже внесенными изменениями

В статье про Feed-on-Feeds выложил прямую ссылку на уже пропатченную версию агрегатора. Теперь больше не нужно его самостоятельно править.

Twitter Tools plugin для WordPress: убираем prefix для новых записей

В плагине Twitter Tools для WordPress обязательно должен быть установлен префикс (Tweet prefix for new blog posts) для новых записей. Чтобы его убрать, примените следующий patch. Проще всего его применить «ручками«.

GNU Project debugger: инструкция по применению GDB

Update: Можете взглянуть на краткий справочник по gdb размером всего на одну страничку! Те, кто пишет программы под linux особенно на языках C/C++ отлично знают этот незаменимый инструмент отладки — GDB. Он довольно прост в управлении, ибо что может быть проще, чем написать в коммандной строчке: В первую очередь этот мини-туториал я пишу для себя. [...]