У вас 2-3 HDD? Ускорим загрузку и реакцию Windows и программ
У меня стояла Windows XP и расширение Астер, которое позволяет работать за компьютером вдвоём, поэтому часть программ и сервисов грузилась в двойном экземпляре.
Однажды у меня появился третий винчестер и стало хватать места, чтобы перераспределить разделы на винчестерах в более удобный вариант и я решил, что можно подготовить 3 первых раздела на разных винчестерах и раскидать по ним системные папки.
Метод ускорения для Windows XP при наличии трёх винчестеров:
1. Переносим папки «Documents and Settings» и «Program Files» на первые разделы других винчестеров. Таким образом, на загрузочном диске из основных папок у нас остаётся только папка «Windows»
2. Создаём на диске с «Windows» ссылки файловой системы (junction-link) на перенесённые папки. Подробнее будет ниже.
Получается, что папки «Windows», «Documents and Settings» и «Program Files» находятся на разных винчестерах.




В C# есть делегаты. В python есть делегаты. В javascript есть делегаты. В Java есть выполняющую их роль замыкания. А в C++ делегатов нет O_O. Многие талантливые программисты успешно борются с этим недостатком, разрабатывая и используя sigslots, boost::function и другие ценные и нужные библиотеки. К сожалению, большинство реализаций отличаются не только методом использования, но также эпической сложностью применяемой шаблонной магии. Дабы при изучении исходников boost::function волосы не вставали дыбом, я написал эту небольшую статью, показывающую как самым простым и топорным способом реализовать делегат на C++. Описанная реализация является иллюстративной, имеет множество недостатков и ее вряд ли можно применить в серьезных проектах — зато она максимально простая и позволяет ознакомиться с предметной областью не разбирая трехэтажные шаблоны sigslots :).