Помощь сайту
-
Популярные записи
Новые комментарии
- Александр к записи Что бы это значило?
- dponyatov к записи stm32: работа с st-link в linux
- Илья Винокуров к записи stm32: работа с st-link в linux
- Николай к записи stm32: работа с st-link в linux
- Дмитрий к записи AVR: SPI
Рубрики
-
Свежие записи
- Android Studio. Failed to create the SD card
- Что делать если вы забыли свой пароль к MySql
- ADB: подключаемся по wi-fi
- Qt: signal mapping
- OpenWrt: Подключаем usb flash диск
- Android: устанавливаем свою анимацию и звук при загрузке
- Android: adb без sudo
- Android: настройка proxy в AndroidStudio
- WordPress — номера страниц
- Linux: запись видео с экрана при помощи ffmpeg
Облако меток
Январь 2021 Пн Вт Ср Чт Пт Сб Вс « Июн 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Архив
- Июнь 2017 (1)
- Январь 2017 (1)
- Май 2016 (1)
- Июнь 2015 (1)
- Апрель 2015 (1)
- Март 2015 (2)
- Февраль 2015 (4)
- Январь 2015 (1)
- Декабрь 2014 (1)
- Ноябрь 2014 (3)
- Октябрь 2014 (1)
- Сентябрь 2014 (1)
- Март 2014 (2)
- Июнь 2013 (2)
- Апрель 2013 (7)
- Февраль 2013 (2)
- Декабрь 2012 (2)
- Ноябрь 2012 (3)
- Октябрь 2012 (1)
- Сентябрь 2012 (3)
- Август 2012 (3)
- Май 2012 (3)
- Апрель 2012 (3)
- Март 2012 (7)
- Февраль 2012 (7)
- Январь 2012 (5)
- Август 2011 (7)
- Июль 2011 (3)
Мета
Архив рубрики: Великий и могучий Си
Си: парсинг GSV GPS nmea сообщение
По просьбам трудящихся опишу как доработать парсер из заметки AVR: подключаем GPS приёмник для работы с GSV сообщениями. Исходный код программы приведен в статье и прикреплен в виде архива.
Рубрика: Великий и могучий Си
Добавить комментарий
Си: используем стандартные макросы
Компилятор gcc определяет несколько стандартных макросов: __LINE__ — номер строки в файле; __FILE__ — имя файла; __func__ или __FUNCTION__ — имя функции; __DATE__ — дата компиляции; __TIME__ — время компиляции ;
Рубрика: Великий и могучий Си
Добавить комментарий
Makefile: справочник
При создании makfile может много различных нюансов, но помнить всё сложно, буду их потихоньку добавлять в эту заметку.
Простое FIFO
Столкнулся с интересной реализацией циклического буфера на Си, поначалу даже подумал, что этот код не работает, но разобравшись, решил использовать в своих проектах. Весь код реализован в виде defin’ов и содержится в одном заголовочном файле fifo.h
Make: cтруктура Makefile
make — это утилита для автоматической сборки программ. Позволяет отслеживать изменения в исходном коде программы и компилировать не весь проект целиком а только те файлы которые изменились или те которые зависят от внесенных изменений. При больших проектах это дает существенную … Читать далее
Подводные камни define’ов
Определение макросов с помощью define очень часто используется программистами. Но есть некоторые особенности, незнание которых может привести к длительным поискам ошибок. Например есть макрос: #define square1( a, b ) \ a*= a; \ b*= b;#define square1( a, b ) \ … Читать далее
Что бы это значило?
Язык Си позволяет создавать выражения, которые не сразу и поймешь. Знакомый принес с собеседования вот такую задачку: Что выведет программа? int x = 2; x += x+++++x; printf( "x=%u\r\n", x ); int x = 2; x += x+++++x; printf( "x=%u\r\n", … Читать далее
Функции изменения порядка бит
Первый вариант — хитрый unsigned char bits_reverse( unsigned char bits ) { bits = ( ( bits & 0xF0 ) >> 4 ) | ( ( bits & 0x0f ) < < 4 ); bits = ( ( bits & … Читать далее
Выравнивание и размер структуры
Есть у нас, допустим структура. struct my_struct{ int a; char b; int c; };struct my_struct{ int a; char b; int c; }; Но если на разных платформах ( например avr и arm ) выполнить следующий код printf("размер структуры %u\r\n", sizeof( … Читать далее
Как создать демона в linux
Демон — это программа не имеющая стандартного ввода и вывода, и при этом работающая в фоновом режиме. Исходный код простейшего демона: