Pull to refresh
226
0

User

Send message
_CrtDumpMemoryLeaks может врать только в одном ключе — он пропускает объекты выделенные вручную через HeapAlloc, GlobalAlloc. Как отсечь глобальные и статические объекты я написал, и да, их использованием MFC, увы, славится. Строку и имя файла определяет, если переопределить new, но «прыгать» по ней не будет. Но и время анализа и исправления утечки обычно больше, чем навигации по коду, всё-таки.
Исходный код страницы на FF 3.6 так долго грузился, что я не поленился уйти заваривать чай.

В качестве оптимизации можно тащить с собой base64 от gif (ну или lzw от bmp) а рендерить в div'ы джаваскриптом через DOM, да и много как ещё можно.

А вообще, забавно.
«Dmalloc is not as good with C++ as C...» из их онлайн документации. И объясните тогда пожалуйста, чем dmalloc «лучше» debug CRT?
В данном случае необходимость переопределения new имеет исторические корни, не в этом смысл. А Debug CRT тоже имеет средства обнаружения неициализированных данных (и обращений к уже освобожденным), выходов за границы массива. В сочетании с AppVerifier можно обрабатывать и попытки чтения/записи по неверным адресам. А вообще, Windows-программисты тоже должны как-то жить :)
Google heap checker насколько я понял только под Linux. А вообще, насколько бы ни были хороши внешние инструменты, тут рассматривается несколько другая задача — можно назвать это самодиагностикой. Отдав программу на предрелизное тестирование, например, мы убедимся, что у программы нет серьезных утечек. А если вдруг есть, то и поймем — где они. Главное, тестеров не придется учить новым штукам. Для маленьких проектов это актуально.
Кольцевой хеш, скользящее окно, хеш-таблица для обнаружения дубликатов.

А остается только использование MD4 и коммуникации.
Очень напоминает известный алгоритм Рабина — Карпа.
Да, в VC6 утечки выводились автоматически, поскольку по умолчанию был установлен флаг _CRTDBG_LEAK_CHECK_DF. С семерки — нет, но его можно включить через _CrtSetDbgFlag(). Ну или явно использовать _CrtDumpMemoryLeaks() (в действительности, оно и звалось перед выходом из main() ).
Спасибо за замечание; при тестировании использовалось MSVC9 на Vista SP2. Тот же порядок (но немного бОльшие цифры) выходят для тестового приложения запущенного на XP SP3. «Час расплаты» целиком относится только к Win32.

Да, для больших (хотя это понятие для каждого своё) проектов этот метод не пригоден, согласен. А «умные указатели» тоже не стоит воспринимать как панацею, от «лишнего» add reference они не застрахованы (человеческий фактор), а найти его иногда крайне сложно (а, интересно, Valgrind справится? особенно меня интересует эта проблема для CComPtr).
В этом есть толика здравого смысла — еще бы сопоставить ошибкам уникальные идентификаторы и можно создать базу знаний по ошибкам (народными средствами или же силами производителя).
Вот, совершенно случайно наткнулся.
Интересно, а какая цель была в установке этого резистора?
Или как обычно, «подумаешь лишние детали остались, и так всё работает».
На клиенте. Ему же надо что-то отправить на сервер, так вот перед этой отправкой происходит то, что можно назвать «процессом получения».

Хотя в более глобальном смысле мне не ясно, зачем гнать кучу данных на сервер (и «присылать громадный файл»), чтобы обратно получить часть этой же информации + карты (для получения которых достаточно было бы мизерного количества точек).
Я не думаю, что это требование вызванное реальными проблеамами ПО, скорее маркетинговый ход, чтобы продать новое железо. Ну и какие-то гарантии комфортной работы юзерсофта.

А вообще, выглядит крайне недостоверно.
Можно удалить все точки, которые лежат «почти» на прямой относительно двух соседей — время такой проверки O(1) для каждой точки (делаем в процессе получения данных). Для «путешествий» по городу — самое оно.
> Открытая передача логина/пароля по FTP.
Не стоит забывать и про открытое хранение пары логин-пароль в ftp_param.txt, а ведь можно было просто дать write-only доступ записи анонима.

> rem зальем полученный архив на FTP
А если архив не будет создан из-за какой-либо ошибки? Надо бы проверять errorlevel.
и «everage», прям таки «любви все возрасты покорны».
В SeaMonkey 2.0.2 тоже значительные тормоза (мешает набирать текст), даже если вкладка с анимацией не активна.
В армии немного другие заморочки, если бы были гарантии, что вернешься здоровым, хотя бы…

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

Конечно, это бардак. Но из этой ситуации можно и пользу извлечь :)
Расскажу. В моем понимании этот процесс заключается в моделировании ситуаций, где самоочевидная техника «прочитал — запомнил — рассказал» не работает по ряду причин; мало времени, огромный объем материала, большая трудность для восприятия и осознания, необходимость поиска источников, исправления ошибок.

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

А вот те, кто регулярно пропускают лекции, не пишут шпаргалок и бомб по причине очень большого времени их написания — имеют шансы. Они собирают материал из разных источников (даже если есть конспект сокурсника, он всегда, абсолютно всегда хуже чем тот же материал обозначенный в книге или статье и может быть использован разве как индекс). Строят структуру курса («что после чего следует, на что опирается и зачем нужно»), чтобы уметь отвечать на простые вопросы «на понимание» (то чего так боятся «отличники»). Вырабатывают критерий качества информации (не все статьи материалы хорошо читаются, некоторые действительно плохо написаны — ищем аналоги). Приобретают критический взгляд на достоверность информации (у всех много ошибок). Учатся оперировать теми понятиями, которые они знают недостаточно хорошо (а не «ну я не уверен...»). Готовы прибегнуть к психологическим приемам, или даже НЛП.

Возможно поначалу «хитрый путь» будет требовать много времени, но если научиться, он будет отнимать в разы меньше времени и усилий чем «классический». А, согласитесь, это пригодится в любой области, а не только по специализации (на что обычно отличники-задроты и жалуются).

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Registered
Activity