пятница, 4 ноября 2011 г.

Qt примеряет Clang.


Бродил тут давеча по сайту Qt и неожиданно для себя набрел вот на этот пост. Оказывается, парни из лаборатории Qt уже достаточно давно примеряют компилятор Clang для своих наработок. Кто не в курсе, Clang – компилятор C/C++ на базе платформы LLVM.  Запись в блоге было забавно читать, учитывая, что основным спонсором разработки Clang выступает компания Apple :-).
Но, если отбросить в стороны всякие мотивы для холиваров, новость то замечательная! Чего только стоит улучшенный разбор синтаксиса, по сравнению с GCC, позволяющий в режиме отладки получать ошибки с позиционированием вплоть до символа.
Собрать саму библиотеку Qt сейчас вам навряд ли удастся, но вот QtCreator попробовать можете. По крайней мере, разработчикам Qt это удалось :-).
Остается лишь понадеется, что работа по заточке Qt под Clang не остановится, и в скором времени у нас появится выбор между GCC и Clang. А выбор – это всегда хорошо. 

среда, 28 сентября 2011 г.

Гигабайт бесплатно? Дайте два!!!

Я думаю, со мной согласятся многие - подарки получать очень приятно... Тем более, если это нужная вещь, а не тот вал хлама, что гости оставляют в день рождения :-). 

Вот так, будучи в отпуске, заскочил в один крупный магазин прихватить живительного напитка для пляжа, пиво, и неожиданно для себя стал обладателем USB флешки "It's Miller Time" объемом 1 Гб. По прибытии домой, на сее устройство был тут же развернут образ Hiren's Boot CD, предварительно, правда, пришлось повоевать с троянской программой (не спрашивайте откуда она там взялась - не знаю ... может быть это тоже часть промо-компании Miller?)... Давно мечтал иметь отдельную "системную" флешку :-))))

Но рассказать я вам хотел, конечно же, не столько о полученном подарке, сколько о ресурсе предоставляющем услуги "виртуальной" флешки - DropBox.

пятница, 1 июля 2011 г.

Qt: сборка плагина QIBASE. Qt + FireBird Embedded.

     Задумал я тут в недавнем прошлом переписать на Qt программу ранее созданную в Visual Basic 6.0. Попутно решил заменить "классический" сервер БД MySQL, используемый сейчас, каким-либо встраиваемым решением. Основная идея задумки - получить кросс-платформенное и портативное приложение. Исключая хранилища данных основанных на файлах, функционал Qt предложил на выбор, по-сути, три возможных решения: 1) SQLite, 2) MySQL Embedded, 3) FireBird Embedded.
     Первым делом, конечно же, было решено задействовать MySQL Embedded. Следуя инструкции, описанной в справочной системе Qt, собрал плагин QMYSQL слинкованный с MySQL Embedded библиотекой. Сборка прошла успешно, тестовое приложение плагин находило, а вот работать категорически отказывалось. Перелопатив десяток "веток" форумов по теме "Qt + MySQL Embedded" вышел на один сайт с подробным описанием манипуляций, необходимых что бы эту связку заставить работать. Правда, почитав представленную информацию, пришлось отказаться от идеи, т.к. один из ключевых моментов - статическая линковка библиотеки MySQL Embedded (что мне категорически не подходит). Не знаю справедливо ли это для пользователей Linux, но то, что и них есть свои проблемы с ее работой это факт (хотя, возможно, им просто не хватало терпения или библиотеки hands.so ;-)). По некоторым слухам, в Qt 4.8 обещают включить отдельно плагин для MySQL Embedded (на момент написания этого очерка в snapshot Qt 4.8 все оставалось как и прежде - один плагин), пока же этого не произошло, для себя я решил "забыть туда дорогу" :-).
     Следующая на очереди была СУБД SQLite. Сразу порадовала ее поддержка Qt прямо "из коробки", а так же внутренняя кодировка данных - UTF-8/UTF-16. Но радоваться долго не пришлось, как оказалось, SQLite регистронезависимый поиск поддерживает только для символов входящих в кодировку ASCII. Для всех остальных предлагается писать свои функции сравнения, либо использовать связку со сторонней библиотекой ICU. Перспектива собирать библиотеку ICU и перекомпилировать SQLite с ее участием ... меня не впечатлила и я решил, предварительно, ознакомиться с FireBird Embedded. Сделал я это точно не зря - и "головняка" меньше и возможностей больше ;-).

воскресенье, 12 июня 2011 г.

Подсветка исходного кода в блоге на Blogger.com

     Заведешь себе вот блог ... пишешь ... пишешь ... и ... Р-Р-РАЗ появляется необходимость опубликовать некий исходный код. Будь то C++, PHP, Java или еще какой ... штатной возможности сделать это красиво (читай "осуществить подсветку синтаксиса") в блоге на движке Blogger нет. Конечно, можно самому все "раскрасить", но делать это с листингом даже в несколько десятков строк придется по душе только истинным "мазохистам" :-). Впадать в отчаяние тоже не стоит - вопрос решаем ;-). И на помощь нам приходит библиотека Highlight.js.

суббота, 28 мая 2011 г.

Qt: SIGSEGV Segmentation fault при запуске программы в режиме отладки. Возможная причина и решение.

     После N-ного количества времени, потребовалось мне запустить одно приложение в Qt Creator'е (в ОС Windows XP) в режиме отладки. Как же я был неприятно удивлен, когда IDE поругалась на "Segmentation fault" и наотрез отказалось "дебажить" программу. Поначалу, казалось,что это результат несовместимости кода, набранного в более старой среде, и последней версии Qt SDK. Но программа прекрасно компилировалась и запускалась и в debug и release вариантах. Так "несовместимость версий" отпала, а вот таинственная "guard32.dll", что загадочным образом подключалась к запускаемому приложению, просветила суть вещей :-).

пятница, 20 мая 2011 г.

C++: Функции проверки ИНН, ОГРН и ОГРНИП

     Вам приходилось писать тех.задание для программистов? Нет? Ах, вы сами пишите программы :-) ... я тоже, конечно, нет, нет, да что-нибудь напишу. Но в основной своей массе мне приходиться объяснять нашим разработчикам ЧТО же нам надо (иногда доходит до абсурда - говоришь уже конкретный программный код :-)) Вот и в этот раз возникла задача описать алгоритмически процесс проверки ИНН юридических и физических лиц, а так же ОГРН юридических лиц и ОГРНИП физических лиц - индивидуальных предпринимателей. Задача, по-сути, тривиальная и, к тому же, алгоритмы проверки найти в интернете не составляет труда. Тем не менее, что бы лишний раз удостовериться в корректности найденных алгоритмов (и иметь рабочую программную версию) было принято решение предварительно реализовать их самостоятельно на языке C++. Что из этого получилось - смотрите ниже.

вторник, 10 мая 2011 г.

C++: Xbase - библиотека прямой работы с DBF файлами. Сборка компилятором GNU GCC 4.4

     Каким бы старым формат dBase (dbf) не был, какие бы модификации не претерпевал ... он и по сей день находит применение. Как участник некоторых форумов по программированию, я не раз становился свидетелем одной и той же картины: раз-два в квартал обязательно появляется человек с вопросом "Как читать (записывать) данные из (в) файл(а) *.dbf?". Нет такой проблемы если вы пишите программы в IDE MS Visual Studio - там "дядя Билли" все предусмотрел - нужно лишь сформировать правильно строчку подключения для коннектора и все дела (подсмотреть такие строчки можно, например, тут). Но что делать, если используется другая среда разработки и нет желания использовать ODBC (особенно при написании программ для ОС Linux)?

четверг, 5 мая 2011 г.

Электробуратино или пару слов об электронных кошельках.

     Интернет все больше и больше интегрируется в нашу жизнь, перенося в виртуальную реальность не только отношения, но и сами объекты реального мира (если, конечно, можно так выразиться в  метафорическом смысле). Сегодня уже практически никого не удивишь возможностью ознакомиться с последними новостями, посмотреть видео, прослушать музыку, найти различную справочную информацию - начиная от телефонов кинотеатров и заканчивая расписанием авиатранспорта в Гондурасе :-). Но одним из ключевых направлений развития всемирной сети последних лет, бесспорно, стала электронная коммерция. Все чаще можно услышать в случайном разговоре реплики о "покупке в Интернете", либо об "оплате услуг через Интернет". И если раньше Интернет выступал как некий "стол заказов", услуги которого требовалось оплачивать отдельно (посредством курьерской доставки заказа, наложенным платежом, банковским переводом), то сейчас ситуация значительно изменилась, предоставляя пользователям возможность оплачивать и получать услуги практически мгновенно. Дорогому этому, естественно, проложили крупные платежные системы, такие как Visa, MasterCard и др. Но ключевым фактором развития рынка  мультимедийных услуг и такого института как "фриланс", стоит назвать появление "электронных денег". Если вас заинтересовала история, природа или классификация электронных денег, вы всегда можете посетить Википедию по приведенной ссылке (к слову, на момент написания очерка, правовой статус "электронных денег" в РФ так и не был определен), я же хотел бы затронуть более "жизненный" вопрос - какие электронные деньги лучше выбрать и какой кошелек для них прикупить ;-).
     Покупать, конечно же, кошелек не надо - на то он и "электронный", что представлен в виде набора специально организованных битов зеленого цвета (шутка :-)). Как гласит Википедия: "Электронный кошелёк (англ. e-Purse или e-Wallet) — смарт-карта или другой электронный носитель с платёжным чипом, позволяющие хранить электронные деньги и осуществлять электронные платежи. Термин также может относится к устройствам и программному обеспечению, позволяющим производить операции пополнения, хранения и перечисления электронных денег.". Поводов с ней в этом не согласиться, собственно, нет. Большинство существующих электронных кошельков представлено, как раз-таки, в виде специального программного обеспечения (зачастую в виде веб-сайта). И среди всего разнообразия предложений, что можно найти во всемирной сети, рекомендую ваше внимание обратить всего на три из них: WebMoney, RBK MoneyЯндекс.Деньги. Выбор не случаен, и осуществлялся по признаку массовости пользователей системы, распространенности в России и количеству партнеров (участников). А сейчас вкратце рассмотрим каждую из них.

WebMoney
http://www.webmoney.ru/
     Одна из самых старых и распространенных систем в мире. Для многих "WebMoney" стало уже именем нарицательным для всей когорты электронных денег. Являясь, по сути, флагманом отрасли, компания WebMoney задает общий ритм развития сферы электронных платежей и выступает неким "стандартом", приблизиться к которому, стараются все остальные системы. Одной из ключевой особенностью этой системы расчетов является работа одновременно с несколькими валютами - для каждой валюты создается свой кошелек (получается некая сумка с .. кошельками :-)): WMR - для рубля РФ, WMZ - для доллара США, WME - для евро, WMU - для украинской гривны, WMB - для белорусского рубля, WMG - для биржевого золота (появился не так давно). Но тут есть один нюанс - переводы можно осуществлять только с участием однотипных кошельков, например с WMR на WMR, но никак не с WMR на WMZ. Возникает резонный вопрос, что же делать если нужны доллары, а у вас есть только рубли - выход есть - воспользоваться обменниками (найти которые в интернете не составит труда, но это тема отдельной статьи). 
     Если вас интересует правовая сторона вопроса, чем же на самом деле являются данные кошельки, вы можете обратиться к справочной системе WebMoney, где найдете ответы на большинство вопросов. А для самых дотошных, я рекомендую ознакомиться, по данному вопросу, и с материалами на Википедии
     Что еще нужно знать о данной системе - это процедуру Аттестации. Суть которой сводиться к полной идентификации пользователя, взамен чему система открывает новые возможности (одна из которых, кстати, это вывод средств из системы). Но не пугайтесь, требовать с вас никто ничего не станет, если определенные операции в системе вас вообще не интересуют :-).
     Для управления своим WMID (сумкой с кошельками :-)), WebMoney предоставляет пользователю 4 возможных варианта: с помощью приложения для ОС Windows - WM Keeper Classic (реализует все возможности системы), с помощью браузера, при наличии персонального сертифика, - WM Keeper Light (реализует практически все возможности системы), с помощью браузера, при отсутствии персонального сертификата, - WM Keeper Mini (только базовый функционал), с помощью приложения для мобильного телефона - WM Keeper Mobile (только базовый функционал). 
     Учитывая, что регистрация в системе абсолютно бесплатна, рекомендую начать ваше знакомство с WebMoney именно с WM Keeper Mobile - это позволит вам и в системе зарегистрироваться и иметь  удобный инструмент управления своими электронными кошельками всегда под рукой.
     И в заключение о WebMoney, несколько полезных ссылок, тарифы, способы ввода денежных средств в систему и способы вывода денежных средств из системы (не забывайте, что часть возможностей зависит напрямую от уровня вашего Аттестата).

RBK Money
https://rbkmoney.ru
     RBK Money есть ни что иное, как бывшая система RUpay, сменившая названия в 2008 году в результате слияния с холдингом RBK (почитать об этом можно пройдя по этой ссылке). Сама же RUpay начала свою работу в 2002 году. Своей целевой аудиторией, электронная платежная система RBK Money, считает российского пользователя, поэтому и все счета и все расчеты в системе происходят в рублях РФ. Стараясь завоевать нишу электронных платежей рунета компания определяет для себя, что "... главной целью RBK Money является создание универсального, удобного и безопасного платежного инструмента, который будет максимально соответствовать требованиям наших клиентов в сфере онлайн-бизнеса и сможет стать по-настоящему народным платежным средством в российском сегменте сети Интернет." И на это стоит обратить внимание, поскольку изучив тарифы, вы с легкостью заметите выгодные отличия этой системы от других (например, перевод средств с кошелька на кошелек - 0,5 % (но не менее 1 рубля) в противовес тарифу WebMoney - 0,8 % (но не менее 1 коп.) - правда, выгода начинается при проведении платежей свыше 125 руб.).
     В системе RBK Money различают два вида кошельков: стандартный и расширенный (по своей сути, ситуация аналогична Аттестату в WebMoney). "Стандартный кошелек" пользователь получает в момент регистрации, а перевод в статус "расширенного" после того как предоставит системе данные о своем паспорте. В чем вы спросите разница? В возможностях! Вообще, что бы не повторяться, стоит для себя уяснить, что любая электронная платежная система практически никогда не позволит вам иметь возможность быстрого и, самое главное, дешевого вывода средств из оборота до того, пока она вас не идентифицирует (но не надо относиться к этому как к прихоти компании - все это требования законодательства). Хотя, как информировал представитель портала RBK Money, в этой системе такая возможность появилась и для представителей "стандартного" кошелька. С полной таблицей сравнения стандартного и расширенного кошельков вы можете ознакомиться на сайте компании.
     Управление электронным кошельком осуществляется на сайте проекта, при этом используется два пароля - один для авторизации, а другой для проведения платежа и "смотри не перепутай" ;-). Для "мобильных" пользователей есть прекрасная возможность управлять своими средствами непосредственно с телефона - RBK Money Mobile (пока поддерживается платформа iOS, но заявлена и скорая поддержка Android. JAVA-версия кошелька более не поддерживается.).
     Но одно вы точно должны запомнить, дабы потом это не стало для вас неприятно новостью :-), средства введенные в систему посредством банковской карты можно потратить ТОЛЬКО на покупку товаров и оплату услуг и никуда более.
     В случае возникновения вопросов связанных с работой RBK Money - советую обращаться к ЧаВо - многие ответы там уже даны ;-).
     Регистрация в системе конечно же бесплатна, поэтому смело следуйте на сайт и регистрируйтесь в RBK Money :-). Аналогично и с WM Keeper Mobile, рекомендую вам сразу же скачать и установить на телефон RBK Money Mobile - управление счетом в любом месте и в любое время никогда не будет лишним :-).

Яндекс.Деньги
https://money.yandex.ru/
     Кто не знает Яндекс? Яндекс знают все! :) Но вот не многие пользователи поисковой системы знают о существовании и другой "грани" их любимого сайта - платежной системе "Яндекс.Деньги", история которой "уходит своими корнями" в 2002 год. Конечно, в свете уже рассмотренных WebMoney и RBK Money, ничего экстраординарного узнать не придется - правила игры на рынке одни для всех :). Как известно, компания Яндекс ориентируется на российский сегмент сети интернет, не стало это исключением и с ПС "Яндекс.Деньги" - валюта счетов - рубли РФ. Аналогично и с двумя уже описанными системами, полный доступ к системе получают только идентифицированные пользователи и только резиденты РФ. 
     Пройти процедуру идентификации компания, в обязательном порядке, рекомендует и пользователям в чьи планы входит размещение информации о своем счете на сайте (блоге/форуме), либо получение благотворительных взносов (в противном случае обещают "заморозить" счет).
     Весьма не радует эта система ограниченным набором возможностей беспроцентного пополнения своего счета - так что будьте внимательны. И в целом про тарифы ... сводную информацию на сайте я так и не нашел - все разнесено по соответствующим разделам помощи. Но не стоит этого страшиться :-), компания Яндекс серьезный игрок и в этой сфере у нее такой же серьезный подход - например, перевод с кошелька на кошелек, как и у RBK Money, составляет 0.5 %, а многочисленные платежи осуществляются без комиссии.
     Отдельно стоит отметить о способе управления своим счетом - веб-сайт. Хотя вы найдете информацию и о программе "Интернет.Кошелек", но пользоваться ей не рекомендует и сам разработчик, поскольку поддержка программы прекратилась в 2010 году и реализует только базовые функции. При этом будьте внимательны - счета созданные с помощью программы "Интернет.Кошелек" доступны для управления только в этой программе (с сайта ими будет невозможно управлять, как и наоборот - счетами созданными через сайт, нельзя управлять в программе!). А вот сообщество пользователей устройств на базе ОС Андроид может порадоваться - на Android.Market есть бесплатное приложение для управления кошельком Яндекс.Деньги. Остается надеяться, что компания не обойдет стороной и другие мобильные платформы :-), а пока лишь приходиться довольствоваться страницей сайта (http://m.money.yandex.ru/) разработанной специально для мобильных устройств.
     Интересной и полезной может оказаться для многих услуга оплаты счетов за товары и услуги с банковской карты посредством ПС "Яндекс.Деньги" (т.н. услуга "Банковская карта в кошельке"). Да, да вы не "очитались" :-) - помимо привязки банковской карты для пополнения электронного кошелька (что, собственно, присутствует во всех крупных платежных системах), можно привязать карту и непосредственно для расчетов. Т.о. получая счет на оплату вы расплачиваетесь не средствами имеющимися на кошельке, а средствами на карте (!), при этом, как заверяет компания, взимается комиссия 0 %.
     Не беспокойтесь - за регистрацию вас никто не поругает ;-). Поэтому можете смело регистрироваться и осваивать систему, если вы ранее не проходили процедуру регистрации на любом сервисе Яндекса. Если же вы уже имеете какую-либо учетную запись, то процедура получения электронного счета намного упрощается - войдите под своим логином на странице Яндекс.Денег и просто откройте счет :-).

     Осталось, наверное, только ответить на один вопрос, самый главный, - "Зачем этот электронный кошелек мне вообще нужен?". И, казалось бы, действительно "зачем"? За связь (телефон, интернет) можно заплатить и в терминале (банкомате, пункте связи и т.д.) по дороге на работу, за коммунальные услуги на почте или в близлежащем отделении Сбербанка РФ, а за он-лайн игры так вообще купив соответствующие карты предоплаты, ну и в интернете не обязательно в принципе что-то покупать и т.д. Но, с другой стороны, можно пополнить свой электронный кошелек и сделать все платежи не отходя от экрана своего компьютера, как говорил классик: "куй железо, не отходя от кассы". В развитии электронной коммерции и, как следствие, институтов электронных переводов/платежей заинтересованы все - и "производители" и "потребители" :-). Одни получают снижение издержек на рекламу, обслуживание, процесс продажи (за счет исключения конечно продавца, которому надо платить за это зарплату :-)); другие получают оперативный доступ к потреблению услуг/приобретению товаров. Поэтому приобретение массовости этого явления еще впереди, вспомните, хотя бы, как появлялась сотовая связь у нас в стране ;-). Помимо исключения лишней беготни, пользователь электронного кошелька получает и вполне ощутимую выгоду в виде более низких процентов по проводимым платежам, а зачастую и полное их отсутствие (так в терминалах за пополнение счета сотового телефона взимается комиссия до 7 % от суммы, в то же время в большинстве систем электронных платежей она равна 0 %). Прибавьте сюда и возможность получения различных скидок и спец предложений от партнеров (особенно этим славятся ПС RBK Money и Яндекс.Деньги), а так же управление средствами размещенными в системе в любое время дня и ночи отовсюду где есть интернет (будь то ПК или сотовый телефон).
     Но нельзя рассказать ЧТО такое электронные деньги, это можно лишь увидеть и потрогать попробовать :-). Поэтому, если вы заинтересовались и готовы в деле испытать системы электронных платежей - рекомендую выбрать из представленных, зарегистрироваться и попробовать :-). Для тех же кто хочет все и сразу (т.е. зарегистрироваться во всех системах) - не лишним будет узнать, что между WebMoney, RBK Money и Яндекс.Деньги существует договоренность, в результате которой вы можете осуществить "привязку" рублевого кошелька из одной системы к рублевому кошельку из другой системы и переводить средства между ними. Данная услуга доступна только идентифицированным пользователям (оба кошелька должны принадлежать одному человеку - проверка осуществляется по реквизитам паспорта), при этом сумма комиссии составляет 4-4,5 %.

     И, в качестве заключения, напомню важные ссылки для описанных платежных систем:

понедельник, 25 апреля 2011 г.

Добавление блога (сайта) в поисковые системы

     Рано или поздно, но всякий владелец блога (сайта) задумывается о популярности своего детища во всемирной сети. Благое ли это намерение связанное с великой "миссией" проекта по освещению пути "заблудщих" ;-), либо корысти для - цель остается единой - быть уверенным, что каждый пользователь Интернета сможет найти его (ресурс) в нужный момент. Мир не стоит на месте и процессу "расскрутки" сайта в Сети даже придумано такое определение как "поисковая оптимизация", хотя чаще вы, конечно же, встретите ее английское наименование search engine optimization или просто SEO. О тонкостях оптимизации и путях "накрутки" вы можете ознакомиться по приведенной ссылке, к слову, стоит отметить, ресурсов в Интернете посвященных SEO достаточно много (как о разрешенных методах, так и нет).  Я же хочу сегодня рассказать начинающим сайтостроителям и блоговодам о самом первом шаге "белой оптимизации" - регистрации ресурса в поисковых системах. Поскольку люди мы с вами русскоговорящие, то и ориентироваться в этом вопросе будем на русскоязычную часть населения :-). А здесь, согласно статистике, у нас имеется два "гиганта" поисковой отрасли - Яндекс и Google - с них мы и начнем: 

Yandex
http://www.yandex.ru/
     Поисковая система № 1 в рунете. В последние годы особенно усилившая свое влияние и качество поиска, возможно именно поэтому потенциальные конкуренты в виде Рамблер и Майл.ру сменили профильный вид деятельности на другой. В отличие от других систем, Яндекс интересуют только ресурсы для русскоязычной части населения (заполненные полностью или в своей основной массе на русском языке) - учтите это при регистрации своего блога (сайта). А для добавления своей страницы в каталоги Яндекса предусмотрено две формы: для сайтов  и для для блогов своя. И там, и там необходимо указать URL главной страницы сайта (например, http://codedchaos.blogspot.com/), хотя для добавления блога рекомендуют добавлять ссылку на его RSS-представление (например, http://codedchaos.blogspot.com/feeds/posts/default?alt=rss).

Google
http://www.google.ru/
     А вот Google можно с уверенностью назвать поисковой системой № 1 в мире :-). Это сейчас компания занимает ниши в других сферах, но изначально все начиналось с поиска и, кстати, хорошего поиска. Помню, когда в начале 2000-х годов я пользовался услугами Рамблер'а, друг мне рассказал о новом поисковике вычитанном в журнале Компьютерра - Google, я и всерьез не стал принимать новость, решив, что долго он не проработает. Теперь же все изменилось, Google - одна из самых успешных компаний в сфере ИТ и даже стало "родителем" столь интересного слова как "загуглить" ;-) (т.е. провести поиск по интересующей тематике). По сути, именно инновационные механизмы поиска и отбора информации явили миру такое явление как SEO (см. выше). Т.о. "сообщить" Google о своем блоге (сайте) это уже не дело чести, а чистого разума :-).

Rambler
http://www.rambler.ru/
     Медиа-портал со своей поисковой системой - так теперь следует называть Рамблер. И не спроста, бизнес в сфере поиска этот ресурс оставил конкурентам, для себе же, очевидно, выбрав сферу рекламы. Как поисковиком, Рамблером лично я уже давно не пользуюсь, оставив для него функцию "почтового ящика" и ежедневного обзора последних новостей (правда, про заголовки которых можно анекдоты складывать ;-)), но, тем не менее, свою долю в общей массе проводимых поисковых запросов он все же имеет и игнорировать это не стоит. Поэтому смело следуйте на страницу регистрации и заполняйте соответствующую форму - для этого необходимо будет указать, помимо адреса ресурса, наименование, краткое описание, контактное лицо и адрес электронной почты (рекомендую указывать реально существующий адрес).
UPD: с некоторых пор Rambler использует поисковый механизм Яндекса. В связи с чем не принимает и URL для добавления в свой поисковый движок. 

Mail.Ru
http://www.mail.ru/
     Майл.ру знают практически все пользователи рунета. Раньше если и подразумевался сайт где можно получить себе ящик электронной почты, то это обязательно был Mail.ru. Начав с социально-ориентированных сервисов, этот портал и по сей день развивает данное направление - яркий тому пример такие продукты как "Мой Мир", Майл.ру Агент, покупка концерном, владеющим Майл.ру, сервиса ICQ, а так же доли Одноклассников и вКонтакте. Но вот как самостоятельная поисковая система, история портала начинается только в 2010 году, когда было заявлено о старте собственного поисковика GoGo (до этого Майл.ру пользовался выдачей Google и Яндекс). Что бы добавить свой ресурс в поисковую систему Майл.ру, вам следует пройти на страницу регистрации.

Aport
http://www.aport.ru/
     Принеси!!! Подай!!! Тьфу .. Апорт, конечно же, приносит результаты поиска очень исполнительно, но уже не так качественно как в былые времена :-). С начала 2000-х годов, как только компания перешла в новые руки, работа над поисковиком практически не ведется. Поддержка и информационное наполнение присутствует - без этого никуда, да только вот азарта по завоевыванию своего пользователя у ресурса совсем не видно. Но не стоит сразу сбрасывать Апорт со счетов, как ни крути, а это рабочая поисковая система с солидной компанией у руля (Вымпелком). Так что понадеемся на лучшую судьбу этого ресурса и не преминем возможностью сообщить ему о своем творении :-). Хотелось бы сразу предупредить, что из всех представленных здесь поисковых систем, Апорт обладает самой большой регистрационной формой состоящей из трех шагов. К тому же решение о добавление ресурса в поисковую базу принимается системой не сразу - о чем вы будете уведомлены по e-mail'у.

Nigma
http://www.nigma.ru/
     Можно сказать самая молодая поисковая система в рунете, при этом созданная на базе МГУ. И даже не просто "поисковая система",  конечная цель проекта: "создание поисковой системы, позволяющей анализировать содержание документов и выдавать конкретную информацию на запрос пользователя, а не ссылки на другие сайты" (подробнее ТУТ). Кто знает, может быть и Nigma повторит успех Google? Так что не теряйте времени и зарегистрируйте свой блог (сайт) в базе и этой интеллектуальной поисковой системы :-).

Bing
http://www.bing.com/
     А это очередная попытка компании Microsoft завоевать свою нишу на поприще поисковых систем. Хотя Bing и занимает третье место в списке самых используемых поисковиков, его использование в России весьма не существенно. Но отталкиваясь от перечня корпоративных клиентов этой компании и тот факт, что по-умолчанию, во всех продуктах Microsoft, стоит штатной поисковой системой Bing, следует предположить об уровне и статусе возможных пользователей ;-). Поэтому упускать возможность сообщить этой системе о своих ресурсах категорически нельзя.  

Yahoo!
http://www.yahoo.com/
http://ru.yahoo.com/
     Один из самых посещаемых порталов в мире, хотя доля в сфере поиска не столь велика. Если бы меня в году так 2000-м спросили, какие зарубежные поисковики я знаю, то первым ответом был "Yahoo!". Это сейчас уже никого не удивляют горячие ссылки в сотовых телефонах на Google, FaceBook, Twitter, Одноклассники, вКонтакте и прочее прочее прочее, а тогда, если и была возможность, все вело к Yahoo! :-). В плане предоставляемых услуг Yahoo! можно сравнить с отечественным Майл.ру: почта, система мгновенных сообщений, новости, игры и прочее. Умиляет тот факт, что в своё время компания Microsoft пыталась купить бизнес этого портала - несостоявшаяся сделка, надо полагать, вылилась в продукт MS Bing. Добавить свой ресурс в "копилку" Yahoo! вы всегда можете ТУТ.

Baidu
http://www.baidu.com/
     И немного экзотики напоследок :-). Представляю вашему вниманию поисковик № 1 в Китае - Baidu. Сложно правда на этом сайте разобраться, если не знаешь китайского, поэтому ВОТ ссылка сразу на страницу регистрации, где необходимо указать url главной страницы вашего ресурса и пройти тест на "человечность" - ввести проверочный код с картинки. Что самое интересное, на одном моем сайте фиксировались переходы с этой поисковой системы.

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

четверг, 21 апреля 2011 г.

Бесплатные компиляторы C++ и интегрированные среды разработки (IDE).

     Не секрет, что весь мир программного обеспечения, условно, можно разделить на 2 категории: платное ПО и бесплатное ПО. Кто-то является сторонником бесплатного, кто-то имеет деньги на платное, а кто-то крутиться как может и пользуется всякими крэками и генераторами ключей. По своей природе я человек законопослушный, поэтому и выбор мой останавливается на бесплатном софте (будь то проприетарное ПО или с открытым исходным кодом). Не стало это правило исключением и при выборе компилятора C/C++, а так же среды разработки. Что мною было обнаружено в просторах Интернета и с чем пришлось столкнуться я решил отобразить в этом очерке. Конечно профессионального разработчика я ничем не удивлю, но новичкам, возможно, смогу дать пару интересных ссылок :-). Итак ...

Бесплатные компиляторы C/C++

GCC
http://gcc.gnu.org/
     В мире Linux вы практически не встретите человека, который не знает что такое GCC. Расшифровывается сея аббревиатура как GNU Compiler Collection - набор компиляторов проекта GNU (фонд разработки СПО - свободного программного обеспечения). Да, да, именно набор, поскольку поддерживает несколько языков программирования (Ada, C, C++, Fortran, Java, Objective-C, Objective-C++, Go), хотя изначально это был исключительно компилятор языка C. Сейчас GCC, де-факто, стал штатным компилятором большинства операционных систем семейства Linux, но это не означает, что его применение ограничивается только этой ОС. Существуют версии GCC портированные и на иные операционные системы, например, проект MinGW - GCC под ОС семейства Windows. Использование этого компилятора удобно в случае, если планируется создавать кросс-платформенное приложение, либо использовать в своей программе библиотеки созданные в рамках сообщества разработчиков свободного программного обеспечения. Более подробно с историей развития, а так же плюсами и минусами GCC можно ознакомиться на русской странице WiKi. Ну и, конечно же, скачать данный компилятор, собранный для различных платформ (бинарные пакеты), можно со страницы загрузки GCC.

Microsoft Visual C++ Toolkit 2003
     Есть у Microsoft не только Windows, но и оптимизирующий компилятор бесплатный :-) Хотя он уже и достаточно "старый" (как видно из названия - 2003 год), но применение находит у достаточного большинства программистов. В то далекое время компания MS позволила себе раздавать лишь консольный вариант компилятора, в противовес текущей ситуации, когда можно пользоваться хоть и урезаной в функционале, но все же IDE - Microsoft Visual Studio Express. И если Студию вы всегда можете скачать с сайта компании, то вот Visual C++ Toolkit 2003 вы там не найдете - лишь на просторах интернета (например, ТУТ ;-)). Посмотрим, что входит в состав пакета от 2003 года: это C/C++ компилятор и линкер (такой же, кстати, как был в Visual Studio 2003 Professional), библиотека стандартных шаблонов (STL) и .NET runtime - "джедайский" набор программиста под Windows :-).

Borland C++ Compiler 5.5
http://edn.embarcadero.com/article/20633
     Ещё один "ветеран", способный одним названием внушить страх студенту-первокурснику ;-). В "лихие 90-е", не особо привру если скажу, что компания Borland занимала лидирующее положение в создании средств разработки. В то время если и подразумевалась IDE, либо компилятор под ОС Windows, то ими чаще являлись продукты компании Borland. Позже, конечно, пальма первенства была утеряна и взошли новые "звезды" на небосводе разработчиков, но теплая память о фирме подарившей миру одну из качественных реализаций компилятора C++ еще долго будет греть сердца :-) (только не надо развивать очередного холи-вара ;-)). Сейчас развитием линейки средств разработки занимается уже другая организация - Embarcadero Technologies, почитать о которой вы всегда можете на странице WiKi. Новые версии C++Builder они конечно же вам не дадут - только если за деньги :-), а вот последнюю версию компилятора, когда он еще принадлежал Borland, подарят безвозмездно - для этого нужно пройти по адресу: http://forms.embarcadero.com/forms/BCC32CompilerDownload где, заполнив анкету и указав реальный адрес e-mail, вы получите письмо с ссылкой для скачивания, либо, если у вас чертовски нет времени ;-), вы можете скачать его сразу ТУТ. В комплекте вы получите: сам компилятор, линкер, компилятор ресурсов, C++ Win32 препроцессор, утилиту для создания lib файлов из dll и другие "вкусности" для плодотворной работы на поприще создания программ под ОС семейства Win32.

Open Watcom
http://www.openwatcom.org/
     Как гласит всё знающая Википедия: "Open Watcom — проект сообщества открытого кода по поддержке и развитию многоплатформных компиляторов Watcom C, C++ и Fortran и сопутствующих программ." На этом бы можно было и остановиться в описании, но ради экономии вашего времени стоит сразу отметить, что хоть этот компилятор и генерирует компактный и быстрый код, но на текущий момент он не поддерживает полностью стандарт C++, поэтому выбирая его для своей работы не удивляйтесь если вдруг чей-то код не станет у вас собираться ;-). В отличии от всех представленных в данном обзоре компиляторов, Open Watcom заметно отличается наличием простого графического редактора, графического дебагера, редактора ресурсов и других утилит, по сути позволяя скачать пакет и тут же приступить к творчеству :-).

Digital Mars C++ Compiler
http://www.digitalmars.com/
     Компилятор разрабатываемый одноименной компанией Digital Mars, известной своей разработкой нового языка программирования "D" (по замыслу автора, очевидно, должно было символизировать следующий шаг в развитии языков C/C++). Нашему вниманию на сайте разработчика предлагается либо купить полный набор программного обеспечения для написания программ на C/C++, который, помимо самого компилятора, содержит и графическую среду разработки совместно с дебагером, справку, различные библиотеки и т.д.; либо скачать совершенно бесплатно консольную версию компилятора - чем, собственно, он и заслужил наше внимание :-). Но особо не спешите радоваться создатели кросс-платформенных приложений - данный компилятор работает только в ОС Windows :-).

     Это далеко не полный перечень известных компилятор для языков C/C++. Intel® C++ Compiler (для некоммерческого использования), AMD x86 Open64 Compiler Suite, Clang, Djgpp ... список еще можно продолжить дюжиной примеров, но суть останется одной - при выборе компилятора необходимо всесторонне подойти к анализу возможностей и условий применения, которые накладывает использование того или иного продукта - дабы в процессе разработки не попасть в щекотливую ситуацию :-).

Бесплатные интегрированные среды разработки (IDE)

Dev-C++
http://www.bloodshed.net/devcpp.html
Поддерживаемая система: Windows 95/98/NT/2000/XP
Поддерживаемые компиляторы: семейства GNU GCC (MinGW, Cygwin)

     Если вы уже искали или только ищите бесплатную IDE под ОС семейства Windows для C++ то, я уверен на 100 %, хоть раз да услышали (услышите) про Dev-C++. Это весьма функциональная и компактная среда разработки может стать хорошим подспорьем как начинающему программисту, так и профессионалу. К сожалению, Dev-C++ уже давно не поддерживается - остановив свое развитие на версии 5 beta, а версия под Linux и того в стадии alpha - при этом, что бы получить ее необходимо приобрести CD версию ПО от Bloodshed (стоимостью от $28 до $49 в зависимости от уровня разработчика). Но не стоит из-за этого сразу сбрасывать эту IDE со счетов ;-), а стоит обратиться к wxDev-C++ - развитию проекта Dev-C++ (который, помимо всей функциональности Dev-C++, содержит и дизайнер форм для кросс-платформенной библиотеки wxWidgets).
     Итак, что мы получаем решив использовать Dev-C++:
   - поддержка компилятора GCC
   - интегрированная отладка (используется GDB)
   - менеджер проекта
   - настраиваемый редактор кода с подсветкой синтаксиса
   - просмотрщик классов
   - автозавершение кода
   - список функций
   - поддержка профилей
   - быстрое создание Windows-приложений, консольных программ, статичных библиотек и DLL (шаблоны)
   - поддержка шаблонов, позволяющих создавать свои собственные типы проектов
   - создание makefile'а
   - редактирование и компиляция файлов ресурсов
   - менеджер инструментов
   - поддержка печати
   - средства поиска/замены (забавно было бы их не обнаружить :-))
   - поддержка CVS
     Ну что вы уже загорелись желанием заполучить эту "лапочку"? ;-) Тогда смело качайте Dev-C++ либо wxDev-C++!

MinGW Developer Studio
http://koti.mbnet.fi/vaultec/mingwstudio.php 
Поддерживаемая система: Windows 95/98/NT/2000/XP/Vista/7
Поддерживаемые компиляторы: MinGW

     Еще один "старичок" :-) в полку IDE. Как видно из названия, работает с портированой версией GCC - MinGW, хотя в большинстве обзоров данную среду характеризуют как кросс-платформенную (к слову, на сайте текущей поддержки MinGW Developer Studio я так и не нашел ссылку на скачивание дистрибутива для ОС отличной от Windows). Честно скажу - сам не скачивал и не использовал в своей работе эту IDE, но группу пользователей она явно имеет :-). Если вы программировали на языке C++ в MS Visual Studio 6.0, то эта среда вам явно придется по душе, ибо автор MinGW Developer Studio при разработке интерфейса постарался повторить эту IDE от Microsoft. Существенным минусом является лишь то, что с 2005 года проект не разрабатывается, а с 2008 года даже перестал работать официальный сайт. Но мир не без добрых людей и, если вы все же заинтересованы в использовании MinGW Developer Studio, вы всегда можете скачать актуализированную версию с сайта VaulTec. Ничего нового, по сравнению с финальной официальной версией, конечно, там нет - гарантируется лишь работа с одной из последних версий MinGW.
     Исходя из доступной информации, рассматриваемая среда разработки обладает следующими "плюшками":
   - интерфейс, поддерживающий работу с несколькими документами
   - подсветка синтаксиса
   - управление проектом (надо думать "менеджер проекта" :-)) с настройками для debug и release сборок
   - сворачивание кода
   - интегрированая помощь
   - поддержка отладки
   - и еще много других ;-) о которых авторы постеснялись рассказать

Code::Blocks
http://www.codeblocks.org/
Поддерживаемая система: Linux/Mac OS X/Windows
Поддерживаемые компиляторы: GCC(MinGW)/Digital Mars C/C++/Microsoft Visual C++ 6/Microsoft Visual C++ Toolkit 2003/Microsoft Visual C++ 2005/2008/Borland C++ 5.5/Watcom/Intel C++ compiler

     Первая действительно кросс-платформенная среда разработки в этом обзоре. Хотя проект и достаточно молодой, но это не помешало стать ему популярным среди программистов, особенно разрабатывающих приложения одновременно для нескольких операционных систем. Создатели Code::Blocks пошли по пути открытой архитектуры, тем самым предоставив возможность сторонним разработчиками расширять возможности среды за счет собственных плагинов (на момент написания обзора таких насчитывалось более двух десятков). Об одном плагине стоит сказать отдельно - wxSmith, по сути являющимся wxWidgets RAD инструментом, позволяющим проектировать оконные формы и прочие визуальные объекты используя библиотеку wxWidgets (библиотека wxWidgets устанавливается отдельно). Многим, я думаю, придется по душе и наличие большого числа шаблонов создаваемого проекта - начиная от статичной библиотеки и заканчивая такими проектами как Qt4 и Ogre. Конечно, "матерые" программеры все это и сами могут написать, что не скажешь о новичках, только-только вставших на зыбкий путь программирования :-), для которых это будет хорошим подспорьем в начинаниях. Как гласит народная мудрость - "лучше один раз пощупать, чем сто раз услышать" ;-), поэтому, тем кто заинтересовался Code::Blocks милости просим на страницу загрузки, а тем, кто еще сомневается, еще пару положительных моментов (помимо уже указанных):
   - подсветка кода (ну куда уж без нее :-))
   - сворачивание кода C++ и XML
   - автозавершение кода
   - просмотрщик классов
   - быстрая система сборки (не требуются make-файлы)
   - поддержка параллельных сборок (удобно для многоядерных процессоров)
   - импорт проектов MS VC
   - импорт проектов Dev-C++
  - поддержка дебагеров GNU GDB и MS CDB (правда реализована пока не вся функциональность MS CDB)
   - и др.

Eclipse C/C++ Development Tools
http://www.eclipse.org/cdt/
Поддерживаемая система: AIX/FreeBSD/HP-UX/Linux/Mac OS X/OpenSolaris/Solaris/QNX/Windows
Поддерживаемые компиляторы: преимущественно основанные на GNU GCC

     Одна из известнейших сред разработки, "краеугольный камень" которой заложила IBM. По сути, Eclipse C/C++ Development Tools (CDT), является плагином одной большой интегрированной среды разработки модульных кроссплатформенных приложений и имя ей - Eclipse. Т.о. Eclipse включает в себя набор плагинов позволяющих создавать приложения на Java, C/C++, PHP и др. Разработкой всей этой махины руководит Eclipse Foundation, бегло ознакомиться с которой вы можете, например, на сайте Википедии. Громкие имена компаний, стоящие за разработкой и развитием платформы Eclipse, позволяют с уверенностью говорить о функциональности и стабильности этой среды. Так CDT имеет в своем арсенале все то, что должна иметь современная IDE для C/C++:
   - подсветка синтаксиса
   - автозавершение кода
   - сворачивание кода
   - ссылочная навигация по коду (гипертекстовые ссылки)
   - рефакторинг кода
   - создание и управление проектами для различных инструментальных средств
   - стандартная make сборка
   - визуальные средтва отладки
   - и многие другие
     Добавьте к этому различные плагины расширяющие функциональность Eclipse C/C++ Development Tools и вы получите практически идеальную среду разработки :-). Почему практически идеальную? А потому, что разработана она на Java и, соответственно, требует установленную в системе виртуальную машину Java версии не ниже 1.5. Именно это, зачастую, становится решающим фактором для некоторых разработчиков, поскольку при слабой аппаратной части значительно увеличивает время как компиляции разрабатываемого приложения, так и реагирования самой среды на действия пользователя. Закачать же CDT вы всегда можете со страницы загрузки Eclipse.

NetBeans IDE
http://www.netbeans.org/
Поддерживаемая система: FreeBSD/Linux/Mac OS X/OpenSolaris/Solaris/Windows
Поддерживаемые компиляторы: GNU GCC

     Как и рассмотренная уже Eclipse C/C++ Development Tools, среда разработки NetBeans написана на языке Java (соответственно так же требует установленной виртуальной машины Java). В общем приближении эти среды даже можно назвать похожими :-). В NetBeans так же реализована модель компонент (плагинов) позволяющих расширять базовый функционал как новыми возможностями, так и поддержкой новых языков программирования - Java, Ruby, C/C++, Groovy, PHP. Естественно, данная среда изначально ориентирована на разработку Java-приложений, но, тем не менее, можно скачать и отдельную сборку IDE поддерживающей написание приложений только на языке C/C++. Конечно же в NetBeans вы найдете все те возможности и инструменты, что доступны и в Eclipse C/C++ Development Tools поэтому выделять что-то отдельное нет смысла :-). Зачастую, сравнивая эти 2 IDE, основная масса разговоров сводится к теме какая из них быстрее работает, а не к обсуждению возможностей. Так что, если вы заинтересованны в среде разработки подобного типа, можете смело качать обе и тестировать какая вам придется более по душе :-).

Microsoft Visual Studio Express
http://www.microsoft.com/express/
Поддерживаемая система: Windows XP SP3/Vista/Server 2003/Server 2008/7
Поддерживаемые компиляторы: MS Visual C++ 2008/2010

     Интенсивное развитие бесплатных средств разработки, особенно продуктов за которыми стоят такие титаны ИТ бизнеса как IBM, Oracle, Intel, AMD, очевидно вынудило пересмотреть политику Microsoft на свои продукты для разработчиков ПО. Так с 2005 года каждый желающий может скачать с сайта компании бесплатную версию популярной IDE - Visual Studio Express. Эта редакция Visual Studio представляет собой набор урезанных средств разработки для языков Visual Basic, C#, интересный нам C++ и Visual Web Developer Express и позиционируется Microsoft как IDE начального уровня для лиц не занимающихся профессионально программированием (учащихся, студентов, любителей etc.). Не переживайте - графический интерфейс и возможность создать оконные приложения вам дадут, а вот пользоваться наработками компании в области оптимизации и рефакторинга кода - практически нет. Так же вы не получите и, так всеми любимой в Visual Studio, возможности быстро устанавливать подключения к удаленным базам данных в дизайнере данных, как не получите и поддержки плагинов и компиляцию 64-битных приложений. Но это все не повод отказываться от Visual Studio Express, напротив тем, кто желает научиться программировать в среде Windows и для среды Windows, это будет полезная стартовая площадка, а подключив и MSDN - прекрасным справочным пособием по языку и API Windows.

Qt Creator
http://qt.nokia.com/products/developer-tools/
Поддерживаемая система: Linux/Mac OS X/Windows
Поддерживаемые компиляторы: GNU GCC

     Последняя IDE в этом обзоре, но далеко не последняя в функциональных возможностях. В отличии от всех уже рассмотренных сред разработки, Qt Creator изначально разрабатывался и развивается как IDE для фреймворка Qt. Конечно, никто не отрицает возможности написания на нем стандартного консольного приложения, но согласитесь качать ради этого ~ 46 мб (а в установленном виде порядка 100 Мб) - не выглядит весьма рациональным решением ;-). Поэтому сам так делаю, и всем рекомендую - рассматривать Qt Creator исключительно как среду разработки для кроссплатформенного фреймворка Qt. В этом отношении вы высоко оцените интеграцию IDE с дизайнером форм (Qt Designer) и справочной системой (Qt Assistant). Для начинающих осваивать Qt (и для ленивых мэтров :-)) разработчик, на сайте продукта, предлагает сразу скачать Qt SDK - набор всех необходимх программ для разработки приложений использующих Qt - библиотеку Qt, Qt Creator, компилятор MinGW (для Windows пользователей). Исходя из целевой направленности Qt Creator, можно выделить следующие его особенности:
   - интеграция дизайнера форм Qt и справочной системы Qt
   - расширяемость (посредством плагинов)
   - поддержка дебагеров GDB (графический фронтенд) и CDB
   - подсветка кода с поддержкой нескольких языков и разметок
     И много других, напрямую не зависимые от Qt Creator'а, а реализуемые посредством Qt, например, возможность создавать приложения для мобильных телефонов под управлением операционной системы Symbian и Maemo.

     На этой радостной, надеюсь, ноте я хотел бы закончить свой обзор :-). Чем пользоваться в своей работе каждый волен выбирать сам, либо ему диктуют корпоративные правила. Хочется верить, что кому-то этот очерк позволит так же определиться в своем выборе ;-). Для меня, лично, это стала связка Code::Blocks + MinGW и, конечно же, Qt SDK. 

среда, 9 марта 2011 г.

Проблема компиляции debug-версии программы в Code::Blocks 10.05.

   Периодически на меня с новой волной наплывает желание углубить и расширить свои понятия и знания в языке программирования C++. Вот и в этот раз вместо того, чтобы думать о подарках для известных мне дам, в преддверии праздника 8 марта, я снова взялся за "чистый" C++. Проведя ревизию установленных фреймворков, компиляторов, редакторов и прочего ПО решил, в этот раз, остановить свой выбор на Code::Blocks (в связке с MinGW) благо он еще и обновился с последнего моего пользования им до версии 10.05 и обещал быть стабильным и послушным ;-).

   Обновление (путем деинсталляции версии 8.02 и установкой 10.05), а так же компиляция тестового проекта "Hello world!" прошли успешно. "Неприятности" начались позже - когда я попытался запустить простенькую программу в режиме отладки - отладчик категорически отказывался "видеть" мои точки останова (breakpoints). Поиски в Интернете привели на несколько тем с описанием аналогичной ситуации, а на официальном форуме Code::Blocks даже дан посыл на местный WiKi по данному вопросу. Что бы не раздувать пост, сразу скажу, на англоязычных форумах находил несколько топиков, где пользователи так же как и я совершенно не понимали почему, вдруг, отладчик игнорирует все точки останова. На решении проблемы натолкнуло сообщение одного разработчика, где он посетовал, что Code::Blocks всегда собирает release-сборку в независимости от того, какая цель выбрана (debug/release). 
   Сравнив размеры скомпилированной программы в обоих вариантах я, уже без удивления, обнаружил что они совершенно одинаковы. Включив в IDE отображение всей информации связанной с работой компилятора ("Settings"->"Compiler and debugger settings"->"Global compiler settings"->"Other settings": "Compiler logging"="Full command line"), во время сборки debug-версии было замечено, что компилятору передается ключ оптимизации "-Os" - при этом соответствующая опция для режима debug в настройках программы и настройках проекта была отключена. Дабы исключить влияние третьих сил - затмения Венеры и прочего :-), была сделана попытка собрать стандартный проект "Hello world!" - результат тот же - добавлялся ключ оптимизации "-Os". 
   Не помогла и переустановка самого Code::Blocks - злосчастный ключ появлялся все равно. Единственное, что вернуло все на круги своя, это удаление всех настроек IDE, включая и те, что она оставляет после себя даже после деинсталляции - в частности директория с конфигурационными файлами: "%SystemDrive%\Documents and Settings\ИмяПользователя\Application Data\codeblocks". После этого повторная (тндцатый раз ;-) ) установка Code::Blocks продемонстрировала чудеса производительности и "послушности" - собирая debug-версию без ключей оптимизации. 
   Проведенные после тесты по сборке debug/release версий не вызвали повторение описанной ситуации, на чем собственно я успокоился и продолжил свое "копание" C++, но решил отписаться тут - вдруг кому пригодиться ;-).