вторник, 6 декабря 2011 г.

Цифровой датчик температцры DS18B20

Возникла задача контролировать температуру? Один из вариантов использовать цифровой датчик температуры DS18B20. Он позволяет измерять температуру в диапазоне от -55 до +125 градусов Цельсия. О нем в просторах Интернета очень много информации, поэтому я всего лишь приведу схему подключения и функции написаные на языке С для HI-TECH C® Compiler.

пятница, 18 февраля 2011 г.

QtScript Bindings Generator

QtScript Bindings Generator -- это плагин, позволяющий использовать Qt-шные классы в скриптовом коде.

Как это выглядит?
 var w = new QWidget();
w.setGeometry(100, 100, 100, 100);
w.show();



Использовать  QtScript Bindings Generator очень удобно, если нужно оставить возможность пользователю вносить изменения в интерфейс или ход исполнения программы.

среда, 16 февраля 2011 г.

Долго ли компилируются програмы с использованием BOOST.Spirit?

      Сначала я думал что не просто долго, а ужасно долго. Грамматика программы приведенная ниже компилировалась около 8 минут. Затем я поменял  MSVC на GCC и ситуация кардинально изменилась. Учитывая, что GCC запускаю на виртуальной машине, программа целиком компилируется чуть дольше 20 секунд. Разница существенная.

вторник, 15 февраля 2011 г.

Дух BOOST’a. Spirit


Когда дело доходит до  написания парсера в первую очередь всплывает в памяти Bizon i YACC. Spirit – это еще один замечательный инструмент. Отличием которого является возможность описания грамматики прямо в С++ коде.

double_ -- вот так выглядит парсер одного числа.

           Теперь попробуем написать парсер который будет разбирать числа, написанные через запитую, причем мы знаем, что первое число имеет тип int, второе и третье double.

+(int_>>’,’>> double_’,’>> double_>>-’,’) – на первый взгляд уже сложнее, но поверьте через несколько секунд, впечатление изменится.