C++: конструкторы и виртуальные функции
Как говорится, век - живи, век учись.Захотелось мне вынести инициализацию данных класса в виртуальную функцию init(), с тем, чтобы классы-наследники могли переопределить ее и добавить в инициализацию...
View ArticleC++: обработка исключений
В C++ под Windows есть два способа обработки исключений - традиционный для C++ с пом. try/catch и т.н. структурная обработка исключений или SEH. Основная разница между ними в том, что с помощью...
View ArticleСборка boost в Visual Studio 2010
1. Скачиваем boost с официального сайта http://www.boost.org/. Текущая версия на момент написания поста: 1.53.0.2. Распаковываем архив на диск (я распаковал в c:\boost\boost_1_53_0).3. Запускаем Visual...
View ArticlePerlVCBuildScripts
Выложил на github perl-скрипты, которые я использую для автоматического изменения номера билда в проектах на Visual C++, а также генерации файлов xxx-build.txt с информацией о версии и контрольной...
View ArticleMySQL не видит my.ini
Понадобилось мне поднять max_connections в MySQL, который по-умолчанию был установлен инсталлером в C:\Program Files\MySQL\MySQL Server 5.6.В этом каталоге лежит my-default.ini, который я переименовал...
View ArticleFailure during conversion to COFF: file invalid or corrupt
Вылезла сегодня с утра ошибка при компиляции любого проекта в Visual Studio 2010:LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corruptУстановка в свойствах проекта...
View ArticleLockLib
LockLibэто набор классов для организации доступа к разделяемым ресурсам в программе на C++ под Windows.Исходники доступны на GitHub: https://github.com/coolsoftware/LockLib.class VLockКласс VLock...
View ArticleLockLib update
Обновился LockLib на GitHub: https://github.com/coolsoftware/LockLib.1. Классы VLock, VRWLock, VLockPtr, VReadLockPtr, VWriteLockPtr теперь "uncopyable", то есть их нельзя скопировать (см. Листинг 1:...
View ArticleДерево Интервалов (Отрезков)
Я уже несколько раз сталкивался с необходимостью решать следующую задачу: есть список интервалов и нужно найти один или все интервалы, в которые входит заданное значение. Пример: есть список диапазонов...
View ArticleВызов скриптов Perl из программы на C++
Оказалось, что организовать вызов Perl-скриптов из C/C++ (MS Visual C++ 2010) достаточно просто:Прописываем в Include Directoriesи Library Directoriesпроекта путь к Perl\CORE: Добавляем perl512.lib в...
View ArticleГенерация пар открытых/закрытых ключей (RSA) на C#
Понадобилось мне создать пару открытый/закрытый ключ на C#. Я поискал немного и нашел замечательную криптографическую библиотеку под названием Bouncy Castle: https://www.bouncycastle.org/. Для C#...
View ArticleСборка zlib в Visual Studio 2010
1. Скачиваем zlib 1.2.8 с http://www.zlib.net/2. Распаковываем архив в c:\zlib-1.2.83. Открываем в Visual Studio 2010 проект C:\zlib-1.2.8\contrib\vstudio\vc10\zlibvc.sln4. Меняем следующие настройки...
View ArticleThrottling
Троттлинг (throttling) - это регулирование (ограничение) скорости какого-нибудь процесса. Например, bandwidth throttling - регулирование пропускной способности канала (обычно измеряется в килобайтах в...
View ArticleRaspberry Pi
Полезные ссылки, касающиеся разработки под Raspberry Pi. Пишу главным образом для себя, чтобы не забыть :) Пост будет время от времени дополнятся (я надеюсь :)1. Кросс-компиляция Qt 5 для Raspberry...
View ArticleTeredo ipv6
Настройка ipv6 (Teredo):Мой компьютер (контекстное меню) –> Управление -> Службы (Рис. 1): Вспомогательная служба IP –> Тип запуска –> Выбираем из списка: АвтоматическиПуск –>...
View ArticleОбновить иконки рабочего стола (Windows)
Заметка себе на память:ie4uinit.exe -ClearIconCache===Перепечатка материалов блога разрешается с обязательной ссылкой на blog.coolsoftware.ru
View ArticleASUS N10 Nano vs TP-LINK TL-WN823N
Решил сравнить скорость двух беспроводных сетевых USB-адаптеров: ASUS N10 Nano и TP-LINK TL-WN823N. На первом написно до 150 Mbps, на втором - до 300 Mbps.Оба адаптера втыкались в Raspberry Pi B+. Для...
View ArticleLazarus Exe
Чтобы уменьшить размер генерируемого Lazarus exe файла, нужно включить следующие опции в параметрах компилятора:"Компиляция и компоновка"->"Стиль модулей"->"Умная компоновка (-CX)""Компиляция и...
View ArticleПоиск подстрок с помощью дерева цифрового поиска
ТеорияЗадача: имеется два больших (100 000+) списка строк, и требуется отфильтровать первый список (Source List) таким образом, чтобы в нем остались только строки, содержащие подстроки из второго...
View ArticleПостроение дерева цифрового поиска
Ниже приведена иллюстрация построения дерева цифрового поиска на Python (см. алгоритм в посте http://blog.coolsoftware.ru/2016/03/blog-post.html):f =open("f1.txt")lines = f.read().split()f.close() def...
View Article