понедельник, 20 октября 2014 г.

Как в Windows открыть файл в ассоциированной с ним программе средствами C++?

Для программистов со "стажем" - это, конечно, не проблема. Но вот для новичков составляет определенную сложность, т.к. это напрямую не связано с языком программирования C++, а является функциональностью операционной системы. 
Как вы уже могли догадаться, речь пойдет о применении соответствующей функции WinAPI. Представляю сегодняшнего героя - ShellExecute!

понедельник, 6 января 2014 г.

Решения упражнений главы 4 "Типы и объявления" из книги Б.Страуструпа "Язык программирования C++"

Рано или поздно, большинство изучающих язык программирования C++ "приходят" к книгам Б.Страуструпа. Кто-то посмотрит и "пойдет" дальше, а кто-то возжелает вникнуть в идеи "создателя" и попытается их осилить. По своему опыту чтения трудов мэтра, могу сказать, что процесс понимания излагаемого материала для "непосвященного" весьма затруднителен. До своего знакомства с книгами Бьерна Страуструпа, самой "сложной" в понимании считал опус г-жи Павловской, очевидно это все результат высокого профессионализма :-).

Не малую путаницу в книги Б.Страуструпа вносят и "издержки" перевода, которые с легкостью могут поставить в тупик начинающего изучать язык C++. Отдельного упоминания заслуживают упражнения для самостоятельного выполнения, решая которые, приходится "переосмысливать" только что прочитанную главу :-).

Я не отношу себя к знатокам C++, скорее просто к "любителям", но, тем не менее, постараюсь в ряде заметок дать ответы и решения на задания одной из самых фундаментальных книг автора - "Язык программирования C++" (обращаю внимание, что для этого мною будет использоваться книга 3-го "специального" издания издательства Бином, ISBN 978-5-7989-0425-9, в версии 2011 года. Хотя в английской версии уже существует и четвертное издание, в большей степени затрагивающее "новое" в C++ привнесенное стандартом C++11. Что это за новшества, можно кратко почерпнуть из этого интервью).

Я категорично "ЗА" самостоятельное изучение и поиск решения на задания, поэтому воспринимаю свою затею как дополнительный стимул таки "добить" эту книгу :D, но может кому поможет лучше разобраться в изучаемом материале...

Итак, упражнения Главы 4 "Типы и объявления".

среда, 6 февраля 2013 г.

Обновление компилятора MinGW

Вы все еще обновляете MinGW путем переустановки? Тогда мы идем к Вам это заметка для Вас! Не многие знают, да что тут лукавить - я и сам не знал, что программа установки MinGW - mingw-get - ко всему прочему позволяет еще и обновлять установленное программное обеспечение.
Для этого необходимо в консоли Windows (cmd.exe, справедливо, если в переменной PATH прописан путь установки MinGW) или "MinGW Shell" (по сути MSYS) выполнить сначала команду:
mingw-get update
- для обновления локальной копии каталога репозитория. А затем, используя команду:
mingw-get upgrade
- обновить все установленные пакеты.

В более ранних выпусках MinGW, утилита mingw-get не позволяла обновлять сразу все установленные пакеты,а требовала указания каждого пакета вручную.

четверг, 16 августа 2012 г.

Статья - Как писать разделяемые библиотеки /Ульрих Дреппер/

Приветствую Вас, поклонники C++!

Вы знаете как создавать разделяемые библиотеки (shared libraries)? Нет? А вот Ульрих Дреппер (Ulrich Drepper) из Red Hat не только знает, но и написал соответствующую статью - How To Write Shared Libraries. Дреппер, конечно, личность неоднозначная и в мире свободного программного обеспечения достаточно знаменитая. Можно по разному относится к тому, что он делает и о чем высказывается, но к идеям статьи How To Write Shared Libraries стоит прислушаться, принимая во внимание, что автор периодически редактирует и дополняет свое детище.

В связи с тем, что У. Дреппер работает в *nix - среде и пишет о ней же, большинству программистов использующих исключительно коммерческие компиляторы под ОС Windows, статья, скорее всего, будет не интересна в той же степени сколько и бесполезна. Но в целях общего саморазвития - это замечательный материал в любом случае! А уж разработчики мечтающие стать отличными специалистами в области C++, просто обязаны изучить данную статью (IMHO).

четверг, 10 мая 2012 г.

C++ компилятор TenDRA

Про этот компилятор так и хочется сказать "военные технологии на службе мирного разработчика" :-), а все потому, что изначально был разработан в Агентстве Оценок и Исследований в области Обороны Великобритании (DERA). Собственно, часть названия "DRA", очевидно, стоит рассматривать как аббревиатуру Агентства оборонных исследований той же Великобритании (Defence Research Agency) - в 1995 году вошедшей в структуру DERA. Уж не знаю зачем им потребовалось создавать свой компилятор, но видимо эта причина исчерпала  себя в 2001 году, когда уже сама DERA претерпела изменения разделившись на две новые структуры: коммерческую фирму QinetiQ и Лабораторию оборонной науки и техники (вольный перевод Defence Science and Technology Laboratory) (не говоря уже про то, что сама разработка была приостановлена еще в 1998 году). Видимо окончательно убедившись в отсутствии "красной угрозы" правительство "Её Величества" отправило "оборонку" на вольные хлеба - зарабатывать самостоятельно :-). 

Но вернемся к компилятору TenDRA. В 2002 году, где-то так в августе, сей продукт стал предметом активной разработки и распространения (под  BSD-подобной лицензией) Jeroen Ruigrok van der Werven'а (боюсь переводить с голландского :-)), благо оригинальный Crown Copyright это вполне позволял.

четверг, 16 февраля 2012 г.

xBase64 - библиотека для работы с файлами DBF

На странице Библиотеки добавлена информация о библиотеке xBase64, рассмотренной более подробно в другом блоге. Хотя формат DBF и очень стар, но продолжает до сих активно использоваться во многих отраслях экономики (и даже в банковском секторе), поэтому и инструмент для работы с ним всегда найдет себе применение в опытных, и не очень, руках разработчика на C++.

вторник, 7 февраля 2012 г.

Online компилятор C++ "CodePad.org"

Конечно это сильно сказано - "online компилятор" - скорее ресурс удаленной компиляции. Сразу прошу обратить внимание, что поддержка языков программирования не ограничивается набором C/C++, но и включает в себе PHP, Perl, D, Python и другие (вдруг кому попутно пригодиться).

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

Для компиляции используется знакомый всем нам GNU GCC (на момент написания - версии 4.1.2), поэтому особых "сюрпризов" ожидать не приходиться. Самым дотошным, все же, рекомендую предварительно посетить страничку about, дабы посмотреть с какими опциями был собран g++. 

Для активных пользователей сайта, тех же образовательных ресурсов, предлагается возможность создания собственных проектов (выдают субдомен в домене codepad.org), в рамках которого можно будет осуществлять совместную работу с исходными текстами.

И в качестве "десерта" - на сайте CodePad.org вы найдете решения задачи FizzBuzz для всех представленных языков программирования ;-).