Пишу, по большей части, про историю, свою жизнь и немного про программирование.

MacGreener C#

MacGreener C# (36.34КиБ)

Переписал МакГринер с Си на Си#. Основной код более-менее повторяется, но код получился более чем в два раза длинее.

Весь код разбит, преимущественно, на три класса — основной класс, где выполняется приложение, класс IOKit — низкоуровневые и чуть более высокоуровневые биндинги для библиотек МакОСи и IOKitMotionSensor — ещё более высокоуровневая обёртка над куском кода для опроса датчика.

Есть ещё два вспомогательных класса — IOKitException, класс кидаемых исключений и IOKitObject — класс всех ресурсов, которые требуется высвобождать (он следит за своевременным их высвобождением при помощи блока using).

Не знаю какую версию я буду дальше развивать (и буду ли), но версия на Си# более прожорлива — из-за фреймворка Mono, который требуется для исполнения программ на этом языке. Версия на Си# занимает в памяти 6,2Мб (+49,8Мб виртуальной), на Си — 840Кб (+18,6Мб виртуальной).

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