Tuesday, December 09, 2008

Значение цифровой констаны во время компиляции

Сейчас занимаюсь нудной работой. Компилирую старый код под новым компилятором и новым Platform SDK и нахожу много мест где какие-то определения перестали существовать из-за новых заголовочных файлов где эти определения условные и зависят от флагов например версии операционной системы. Нашел хорошее решение как узнать значение флагов во время компиляции:

// для цифровых

#define STRING2(x) #x
#define STRING(x) STRING2(x)
#pragma message( "FLAG= " STRING(FLAG)) 

// для строковых
#pragma message( "FLAG = " FLAG) 

Monday, November 10, 2008

Как тихо прибить Windows Explorer

Взято отсюдаИдите в  Start > Shutdown. Когда появиться диалог, нажмите и держите CTRL+ALT+SHIFT и кликайте Cancel. Explorer по тихому прибит. Если вы пожалели о содеяном - не проблема, откройте Task Manager (CTRL+SHIFT+ESC is one way) идите в  File > New Task и напишите ‘explorer’.

Tuesday, November 04, 2008

Проголосовал


Сегодня я впервые в жизни проголосовал. Последний раз я был на голосовании в далекие советские времена но не голосовал. На удивление голосование в штатах было очень похожим. Регистрируешься. Получаешь форму. Заполняешь и кидаешь в ящик. Разница только в том что ящики раньше были красного цвета и не были похожи на шредер :)

Thursday, September 04, 2008

C++/CLI Чудеса

Если в managed С++ проэкте создать открытый класс и поместить его в *.h файл то этот класс нельзя использовать. Он не будет видимым если его например подключить к C# проэкту. Чтобы сделать его видимым надо подключить *.cpp файл с сылкой на *.h файл где этот класс описан.

Thursday, August 28, 2008

InternetReadFileEx

Возвращает неправильный размер буфера и данные в нем если память под буфер выделена на стэке и если вызовы InternetReadFileEx асинхронные причем между ними буфер освобождается. Исправляется тем что память выделяется на куче (heap) причем она может даже освобождатсья между вызовами и это как ни странно работает. Я в шоке :)

Thursday, August 21, 2008

Полезный netstat

netstat Попытался запусть сегодня вэб сайт на своей локальной машине в IIS 7.0 Выдал мне ошибку суть которой сводилась к тому что на порту 80 уже кто-то сидит. Спасла комманда netstat -ano которая выдала список всех процессов с портами которые они оккупировали. Так я нашел что Skype сидит на 80 и 443 пришлось его прибить.

Tuesday, June 03, 2008

Сертификат подводника

scuba_diving В эти выходные получил заветную ксиву. После двух дней и шести погружений в десяти а в шестое погружение и пяти градусную воду. Самым трудным было выдержать холод в течении двадцати минут пока сдавали зачеты. Ты висишь в невесомости на глубине метров десяти пока другие сдают и мерзнешь. Дна не видно, поверхность тоже не особо - надо голову задирать. Впечатляет в общем. В конце погружались на двадцать метров там где самая холодная вода. На дне лежал затонувший катер но от холода было не до него. Рыб было интересней смотреть чем развалины всякие. Не понимаю я пока прикола в рассматривании затонувшего мусора всякого. Почему то когда он лежит на свалке к нему нет очереди зрителей но если ту же самую ржавую железку затопить она становиться объектом пристального внимания. Её защищают от осквернения и берут деньги за просмотр.

Весь курс занял где-то сорок часов. Надо было посмотреть видео. Ответить на вопросы в книжке. Потом пройти тест на тот-же материал. Затем два дня по четыре часа практики в бассейне где учили как дышать под водой и как вести себя в случае наиболее распостраненных обстоятельств таких как запотевшая маска, потерянная маска, кончившийся воздух и тд. Ну и конечно два дня практики на дикой воде. Где мы делали тоже самое но уже на глубине в холоде в условиях приближенных к реальным. Вот некоторые фотки.