Войти

Подсказки (4 стр)

Страницы: 1 2 3 4 5 6 Следующая »
Цикл while(0)

Иногда удобно использовать цикл do { ... } while (0);  Дело в том, что, как сами видите, он выполнится один раз. А прелесть в том, что можно использовать оператор break; Это может быть полезно, скажем, вместо вложенных if(...) и при проверке файла, имитируя работу try() ... catch(), избежать goto.

Читать
15 мая 2005

"Автодокументирующие" комментарии в VS .NET

VS .NET применяет свой формат автодокументирующих комментариев на XML. Если перед функцией набрать ///, то VS .NET автоматически преобразует три черты в:

Читать
5 мая 2005

Программирование / Подсказки / Общее
^ Простая реализация RTTI (run time type information)

Доступно пользователям со статусом Участник

Читать | Комментарии [54]
26 апр 2005

Делаем из Visual C 6 Visual C 7

Возможно использовать Visual C++ 7 компилятор со средой Visual C++ 6. Для этого скачиваем бесплатную версию MSVS7(только С++ компилятор). Устанавливаем его. После копируем все файлы отсюда ...\Microsoft Visual C++ Toolkit 2003\bin\*.* сюда ...\VisualC6\VC98\Bin\  Далее запускаем MSDev и в Tools->Options->Directories если не прописан путь к ...\Microsoft Visual C++ Toolkit 2003\include и ...

Читать
17 апр 2005

Как перехватить аварийное завершение программы системой

Иногда, играя в какую-нибудь игру мы наблюдаем такую картину - игра "вываливается" в Windows с сообщением типа "Программа выполнила некорректное обращение к памяти и будет закрыта". Хорошо еще, если мы незадолго до этого сохранились. Если нет, то уж совсем обидно. Все мы люди и в реальных "больших" проектах мы не всегда можем найти все ошибки. Таким образом, не помешает механизм, когда программа "перехватывает" такие критические ситуации и перед закрытием скидывает на диск важную информацию.

Читать
12 апр 2005

Property в С++

Читать
8 апр 2005

Выравнивающий стандартный аллокатор

Очень часто при работе с SSE ( да и просто с потоком данных ) требуется, чтобы эти данные были выровнены. Это можно осуществить с помощью функций _mm_malloc() и _mm_free(). Но иногда хочется использовать std контейнеры для работы с выровненными данными. Приведу класс-аллокатор, который можно использовать во стандартных контейнерах:

Читать
4 апр 2005

^ Создание текстур генераторами (must have)

Доступно пользователям со статусом Участник

Читать
30 мар 2005

Программирование / Подсказки / Общее
^ Быстрое приведение float к int

Доступно пользователям со статусом Участник

Читать | Комментарии [23]
30 мар 2005

Программирование / Подсказки / Общее
^ Win32 API: Unicode vs Non-Unicode

Доступно пользователям со статусом Участник

Читать | Комментарии [3]
16 мар 2005

Отключение диагностики памяти в MFC приложении

Диагностика памяти вещь очень полезная. Однако, при большом количестве запросов на выделение памяти диагностика может занимать довольно много времени. Если вы не хотите ждать по 5-7 секунд после завершения программы, диагностику можно отключить функцией

Читать
14 мар 2005

cfg за 5 минут

Вместо написания фукции чтения из файла можно воспользоваться функцией GetPrivateProfileString() из WIN32 API (у вас же используется windows.h ?) Вообще-то она предназначена для чтения из файла с ключами для реестра. Но никто не мешает использовать ее для собственных нужд. А это удобно, т.к. позволяет использовать в файле с настройками коментарии и разбиение переменных на группы.

Читать | Комментарии [3]
12 мар 2005

Ускорение некоторых операций с плавающей точкой

Иногда требуется выполнить простейшую операцию с вещественным числом, например, изменить знак  или вычислить абсолютное значение. Если ваше вещественное число оказалось в памяти ( например это значение переменной и оптимизатор ее не сократил ), то некоторые операции быстрее выполнять непосредственно меняя биты вещественного числа. Вот некоторые макросы, которые это делают:

Читать
12 мар 2005

^ Tiny performance pack

Доступно пользователям со статусом Участник

Читать
12 мар 2005

Ускорение сравнений чисел типа float

Здесь компилируемый исходник: реализация ufloat, поиск максимума из массива и замер тактов процессора. На разных машинах могут быть различные результаты.

Читать
12 мар 2005

^ Быстрое нахождение количества выставленных бит в числе

Доступно пользователям со статусом Участник

Читать
3 мар 2005

Подключение .lib файла через препроцессор.

В Visual C++ можно и не входить в настройки проекта для того, чтобы подключить .lib файл. Достаточно в директиву препроцессора вставить следующую строку:

Читать
3 мар 2005

Быстрое отслеживание значения GetLastError() в Debug режиме.

Для того чтобы отследить значение возврвщаеемое функциеей GetLastError() во время отладки приложения, добавьте в поле Watch переменную @err. Значение этой переменной будет соответствовать коду ошибки. Если добавить флаг hr:

Читать
7 янв 2005

Автоматическая синхронизация с CVS

При работе с open-source софтом более логично (и экономнее по траффику) использовать CVS, нежели тянуть tarballы. Этот скрипт на питоне позволяет автоматизировать процесс обновления софта с CVS.

Читать
12 дек 2004

^ Перетаскивание окна за любую точку одной строкой

Доступно пользователям со статусом Участник

Читать
23 ноя 2004

J2ME: немного об экономии памяти.

При программировании игр на J2ME появляется извечная проблема - как в ограниченную память мобилки вставить побольше кода/графики/уровней... Вот пара банальных, но работающих советов.

Читать
16 ноя 2004

Автоматическая версия Build

Вам ведь всегда хотелось, чтобы при каждой компиляции повышалась версия build-а файла. Это легко сделать. Надо лишь скачать отсюда — http://www.rt.mipt.ru/~detectivestory/others/transfer/BuildNumberIncreaser.zip dll и поместить ее в папку с VC.

Читать
26 окт 2004

Paint Vertex для текстурирования

Бывают такие ситуации, когда сложная модель раскладывается на несколько частей. В результате чего иногда непонятно, где текстура должна быть одного цвета (шов). Для облегчения этой задачи можно сделать следующее (для 3ds Max):

Читать
23 окт 2004

Мэпинг сложных моделей в MAX 6

Если модель достаточно сложная и объемная, а стандартные типы мэппинга не приемлимы можно поступить следующим образом :

Читать
15 окт 2004

^ Один из способов защиты ShareWare программ

Доступно пользователям со статусом Участник

Читать
14 июля 2004

Программное отключение VSync в OpenGL.

Нужно использовать расширение OpenGL — WGL_EXT_swap_control. Просто добавь кусочек кода к проекту и жизнь шикарна:

Читать
13 июля 2004

^ Log файл в формате xml

Доступно пользователям со статусом Участник

Читать
11 июля 2004

Быстрое удаление элемента из вектора, массива.

Заменяем ненужный элемент последним и уменьшаем количесто элементов

Читать
10 июля 2004

^ Возможность inline-ить методы/функции + положить их в CPP.

Доступно пользователям со статусом Участник

Читать
9 июля 2004

Запыленные Lens Flare

Берем две текстуры для блика — одну обычную, представляющую собой корону источника освещения, а вторую — текстуру дымки (обычные черно-белые Difference Clouds из Photoshop), примерно такие:

Читать
15 июня 2004

Как дешево и сердито сделать неоновое освещение

Для начала необходимо подготовить текстуру. Обычно неоном светится какая-либо надпись или логотип. Значит с этого и начнем.

Читать
13 июня 2004

Программирование / Подсказки / Общее
^ Меню в OpenGL

Доступно пользователям со статусом Участник

Читать | Комментарии [3]
3 июня 2004

Замерьте время на сборку

В Visual C++ 6.0 вы можете запустить MSDEV.EXE с ключом "/y3", который будет подсчитывать время сборки. Классная недокументированная "фича". В версии .Net зайдите в меню Tools -> Options -> Projects -> Build Timing и поставьте "Yes". В командной строке можно использовать %time%.

Читать
1 июня 2004

Решение проблемы разного количества текстурных координат и количества вершин модели в 3DS MAX.

Часто встречаются вопросы о том как быть с выводом графики через массивы вершин, если 3DS MAX генерирует различное количество вершин и текстурных вершин (пар/троек текстурных координат) со своими, различными индексами для вершин и для текст. координат. Для получение массивов данных одного размера после экспорта (или во время экспорта) можно использовать такой код:

Читать
27 мая 2004

Оптимизация мешей в DX9 (даже и в OGL)

Меши нужно оптимизировать, для лучшего использования кеша вершин на карточках, особенно при тяжелых вертексных шейдерах.

Читать
21 мая 2004

Особенность выравнивания в памяти

CPU читает и пишет данные, выровненные в памяти намного быстрее чем какие-либо другие данные. Любая переменная n-байтового тип данных является выровненной в памяти, если адрес её начала делится нацело на n. например, 32х-битное целое (int) является выровненным в памяти, если адрес его начала в памяти 0x4000000. Тот же самый int не является выровненным, если адрес его начала 0x4000002, поскольку этот адрес не делится нацело на 4 байта==32 бита.

Читать
22 апр 2004

Комментирование блока кода в MS VC

А знаете ли вы что в MS VC комментировать блок кода можно с помощью комбинаций клавиш.

Читать
15 апр 2004

Быстрый замер времени исполнения консольной комманды

Скачиваем timethis.exe ( 8K )  например отсюда

Читать
15 апр 2004

Аппроксимация сферы треугольниками

Читать
29 мар 2004

Трасировка стека вызовов

Бывают случаи, когда для отладки приложения нет возможности использовать внешний отладчик, это может быть как специфичность кода или большой его объем, так и банальное отсутствие хорошего отладчика под рукой. В таких ситуациях программисты обычно протоколируют все события, которые происходят во время работы приложения, либо используют runtime мониторинг состояния системы, через консоль или её аналог.

Читать
12 мар 2004

Страницы: 1 2 3 4 5 6 Следующая »