Optixsoft Blog

Блог

Новая версия SOR Shell Extension





Начиная с Windows Vista, Microsoft изменила API для добавления дополнительных столбцов в Проводнике, тем самым нарушив обратную совместимость с расширениями оболочки, написанными для Windows XP. Поэтому в той версии SOR Shell Extension, в которой мы только добавили поддержку Windows Vista/7, дополнительных столбцов в Проводнике не было под этими версиями Windows. Наши постоянные пользователи, недавно обновившие операционную систему, сказали нам, что им не хватает этой возможности. И только что мы выпустили новую версию, где дополнительные столбцы работают и в Windows Vista/7.

Вы можете скачать новую версию с нашего сайта.

Ярлыки: , ,


Новая версия SOR Shell Extension





Вышла новая версия SOR Shell Extension - расширения оболочки Windows, делающего работу с файлами стандарта Bellcore GR-196/SR-4731 (.sor) более удобной. Обновление содержит несколько исправлений и улучшений, главным из которых, пожалуй, является поддержка 64-битной версии Windows и исправление ошибки доступа к реестру, связанной с правами пользователя.
Скачать новую версию можно с нашего сайта.


P.S.: Это не первоапрельская шутка :)

Ярлыки: , , ,


Сборка мусора и локальные переменные


Если вы программируете на C#, то у меня для вас вопрос. Как вы думаете, сколько раз будет выводиться в консоль строка "GC called" при исполнении следующего кода:

using System;
using System.Threading;

class GarbageCollectorTest
{
   public static void Main()
   {
      Timer t = new Timer(CallGC, null, 1000, 1000);
      Console.ReadKey();
   }

   static void CallGC(object o)
   {
      GC.Collect();
      Console.WriteLine("GC called");
   }
}



Правильный ответ: зависит от параметров компиляции. В release-сборке строка выведется только один раз. В debug-сборке строка будет выводится до нажатия пользователем клавиши.

В C++ время жизни локальной (автоматической) переменной определяется областью ее видимости - переменная уничтожается в момент выхода потока исполнения из этой области.
В C# время жизни такой переменной определяется областью ее использования. Т.е., переменная может быть уничтожена до окончания области своей видимости, если сборщик мусора посчитает, что переменная больше не используется.
В debug-сборках для удобства отладки время жизни переменной искусственно удлиняется до окончания области видимости.

Что касается Java, то насколько мне известно спецификация JVM тоже допускает подобную реализацию сборщика мусора.

P.S.: Если вы программируете на C# и для вас этот пост оказался откровением, прочтите книгу Джеффри Рихтера "СLR via C#". Там вы сможете найти еще много интересного, а главное - полезного для серьезной разработки для .NET Framework.

Ярлыки: ,


Блиц-вопрос по C#


Сможете ли быстро назвать три преимущества, которые дает использование автоматических свойств (automatic properties) против использования открытых полей в классе?
То есть, чем следующее объявление
public string Foo{ get; set; }
лучше этого
public string Foo;

Ответ (как это часто бывает) на StackOverflow.

Ярлыки:


NOP-инструкции и отладка.


При отладке приложений часто бывает необходимо внести исправления в исходный код программы. Для того, чтобы эти исправления вступили в силу, обычно надо пересобрать приложение и заново запустить отладку. Однако, в Microsoft Visual Studio есть функция edit-and-continue (редактируй-и-продолжай), которая позволяет исправлять исходный код и применять эти исправления без перезапуска приложения. Когда-нибудь задумывались, как она работает?
Весь секрет в NOP-инструкциях, которые компилятор вставляет в определенные места исполняемого кода. Их-то как раз и можно заменить на вызов новых операторов.
Кроме того, NOP-инструкции позволяют ставить точки останова в те места исходного текста, для которых иначе не существовало бы соответствующего исполняемого кода. Например, на начало блока(открывающая фигурная скобка в C++ и C#). Или на оператор, который бы иcчез в результате оптимизации.

Кстати: Генерация NOP-инструкций может иметь смысл и при компиляции release-версии приложения. Например, при выравнивании блока кода для улучшения кэширования.

Ярлыки: , ,


Концептов не будет в новом стандарте C++!


На своем последнем июльском заседании во Франкфурте комитет по стандартизации С++ проголосовал за исключение концептов (concepts) из почти готового нового стандарта языка. Концепты - пожалуй, наиболее обширное и обсуждаемое нововведение в парадигму мета-программирования С++. Основное назначение - сделать описание требований для типа, используемого в шаблоне, простым и интуитивным, позволяя компилятору генерировать понятные ошибки, если эти требования были нарушены. Кроме того, концепты позволяли бы сделать отображение какого-либо существующего типа для использования в существующем шаблоне, в тех случаях, когда тип и шаблон непосредственно не совместимы.
В качестве причин исключения из стандарта называются не полностью законченная и органичная спецификация, излишняя переусложненность и отсутствие необходимого тестирования в реальных условиях. А поскольку концепты потенциально могли стать новым краеугольным камнем C++, было принято решение не стандартизировать "сырую" реализацию.
Будут ли включены концепты в последующий стандарт - урезанными, дополненными или полностью переписанными - покажет время.

Пост Страуструпа, касающийся данного вопроса, находится на Dr.Dobb's.
Саттер также прокомментировал проблему на своем сайте.
Найти другие ссылки по вопросу можно, например, на StackOverflow.

Ну а мы с нетерпением будем ждать других нововведений в язык, таких как лямбда-выражения, семантика переноса и rvalue-ссылки, обобщенные константные выражения и др.

Ярлыки: , ,


Новое программное обеспечение для SOR-файлов - скоро!


Вы работаете с рефлектограмами в формате SOR, и круг ваших задач не покрывается возможностями SOR Shell Extension, а существующие полновесные программы для работы с SOR-файлами вас по какой-то причине не удовлетворяют? Или вы просто хотите попробовать новое современное программное обеспечение в своей отрасли? Тогда у нас для вас хорошая новость: мы заканчиваем работу над собственной, удобной и функциональной программой для работы с SOR-файлами.



Следите за обновлениями на сайте и будьте первыми, кто установит Optixsoft EasyViewer!

Ярлыки: ,


Optixsoft - Разработка ПО для волоконной оптики. 2009. Все права сохранены.