Архив метки: c

CryptoPP 5.6.0 и MSVC 2010 (C2439,C2440)

Чтобы данный пакет откомпилировался компилятором версии 16.00, нужно поправить пару строк в исходниках: pubkey.h строка 243: return HashIdentifier((const byte*)NULL, 0); zdeflate.cpp строка 389: #if defined(_STDEXT_BEGIN) && !(defined(_MSC_VER) && (_MSC_VER < 1400 || _MSC_VER >= 1600)) && !defined(_STLPORT_VERSION) после этого вы … Читать далее

Рубрика: Программирование | Метки: | Оставить комментарий

Поиск Free RAD

Поиски бесплатной среды для быстрой разработки приложений наткнулись на несколько распространенных вариантов: Qt wxWidgets Ultimate++ Qt — оно конечно здОрово, красиво, и судя по отзывам удобно, но есть один такой небольшой затык: коммерческая лицензия стоит более $3.5к, для моего личного … Читать далее

Рубрика: Программирование | Метки: , , | Оставить комментарий

Вспоминаем Си. PCRE , pcrecpp (!)

Чуток накосячил с ним в прошлом посте, не включил в библиотеку наиполезнейшую вещь (!), а именно pcrecpp от Google Inc. В прошлый makefile компиляция и прилинковка данного «модуля» была чудовищно пропущена моими кривыми руками. Сей замечательный кусок кода позволяет использовать … Читать далее

Рубрика: Программирование | Метки: , , , | Оставить комментарий

Вспоминаем Си. Подключаем библиотеки CURL, Zlib, PCRE, OpenSSL и SQLite

Задался целью статично собрать все части в один исполняемый файл.. Зачем? .. Сам не знаю, может для того, чтобы не таскать с собой дополнительные .dll-файлы. Конечно это отрицательно сказывается на своевременном апдейте приложения, с каждой новой версией любой из частей … Читать далее

Рубрика: Программирование | Метки: , , , , , , | Оставить комментарий

Вспоминаем Си. бНОПНЯ

После небольшого дауна, продолжаем вспоминать :) Порой необходимо вывести что-то в консоль, или просто пишешь тестовую консольную версию для отладки какой-либо функции. Многие, я в это верю :) , встречались с абракадаброй на экране, пытались перекодировать выводимое сообщение, писали «собственные» … Читать далее

Рубрика: Программирование | Метки: , | Оставить комментарий

Вспоминаем Си. Превращаем элемент управления в hyper-link

Оказалось нужным открытие браузера с нужным адресом при нажатии на тексте. Все довольно простенько. Файл ресурсов: #include <windows.h> #define IDD_DIALOG1 1000 #define IDC_LINK_GOOGLE 1100 LANGUAGE LANG_NEUTRAL, SUBLANG_DEFAULT IDD_DIALOG1 DIALOGEX 0, 0, 186, 27 STYLE DS_3DLOOK | DS_CENTER | DS_MODALFRAME | … Читать далее

Рубрика: Программирование | Метки: , | Оставить комментарий

Вспоминаем Си. Чтение и запись файла

Смешно, сам от себя такого не ожидал. #include <windows.h> #include <stdio.h> #define CHUNK 1024 int copy(FILE *src, FILE *dst) { int bytes; unsigned char buf[CHUNK]; do { // копируем весь файл кусками по 1 Кбайт bytes = fread(buf, 1, CHUNK, … Читать далее

Рубрика: Новости | Метки: | Оставить комментарий

Вспоминаем Си. Отключаем (не)удобства assert

Есть такая удобная штука assert называется. Данный макрос вызывает исключение, которое позволяет провести частичную диагностику результатов работы программы. Макрос проверяет истинность выражения, и если оно ложно пишет в поток stderr само выражение, имя файла и строку исходника, в котором это … Читать далее

Рубрика: Программирование | Метки: , , | Оставить комментарий

Вспоминаем Си. Ассоциативные массивы

Нужны ассоциативные массивы. Как об-Веб-ившемуся разработчику, уже привыкшему к ним, они просто необходимы. Ничего выдумывать не стал, а использовал уже написанный и отлаженный шаблон map из библиотеки C++ STL. #include <windows.h> // magic include :) #include <stdio.h> // printf #include … Читать далее

Рубрика: Программирование | Метки: , | Оставить комментарий

Вспоминаем Си. Изменение ID элемента управления

В моем диалоговом окне несколько стадий, ограничим их пока двумя гипотетическими пунктами, которые исполняются при нажатии одной и той же кнопки на разных этапах обработки: выбор и подтверждение действия исполнение действия Казалось бы, можно просто использовать некие костыли, в виде … Читать далее

Рубрика: Программирование | Метки: , | Оставить комментарий

Вспоминаем Си. RichEdit, прокрутка текста колесиком мыши

Понадобилась прокрутка текста внутри RichEdit элемента, даже в том случае, если оно не в фокусе. Долго думать не пришлось, все довольно тривиально: LRESULT CALLBACK mainDlgProc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam) { switch (msg) { .. .. case WM_MOUSEWHEEL: … Читать далее

Рубрика: Программирование | Метки: , , | Оставить комментарий

Вспоминаем Си. Richedit, Выравнивание текста

Задался вопросом как мне красиво выровнять текст по обоим границам, так сказать «сделать ему Justify» ? Начиная с версии RichEdit 2.0, элемент управления может выравнивать текст от левого до правого края, и сделать это можно таким образом: // hwnd — … Читать далее

Рубрика: Программирование | Метки: , , | Оставить комментарий