Когда купил wifi адаптер, думал, что будет работать на моей ubuntu 20.04, потому что в числе поддерживаемых систем значился linux. Оказалось, что не работает. Попробовал решения, которые предлагают на форумах, но адаптер так и не заработал. Пришлось вчера и сегодня заняться поддержкой драйвера. Читать полностью »
Рубрика «C» - 21
поддерживаю драйвер tp-link t4u для linux
2020-09-13 в 10:18, admin, рубрики: C, linux, open source, Разработка под LinuxКак НЕ надо начинать изучать программирование
2020-09-12 в 11:58, admin, рубрики: C, computer science, java, javascript, kotlin, Карьера в IT-индустрииПриветствую, Хабровцы!
Решил поделиться своим опытом «успешного» изучения языка(ов) программирования.
Не сказать, что в IT-индустрии я полный профан, однако мой план обучения «стать IT developer-ом» — с треском пошел по швам.
Читать полностью »
Я вижу часто отсылки на то, как реализуется то или иное на qt, но gtk тоже хорош. Я пишу на C и не хочу учить каждые три года стандарты C++, чтобы быть на волне. Мне хватает простой сишечки и чтобы делать графический софт, выбор пал на gtk.
Читать полностью »
Проверка QEMU с помощью PVS-Studio
2020-09-04 в 6:53, admin, рубрики: C, c++, open source, programming, qemu, virtual machine, Блог компании PVS-Studio, Программирование, С++
QEMU – достаточно известное приложение для эмуляции. Статический анализ может помочь разработчикам таких сложных проектов, как QEMU, отлавливать ошибки на раннем этапе и в целом повысить его качество и надёжность. В этой статье будет проверен исходный код приложения QEMU на потенциальные уязвимости и ошибки с помощью инструмента статического анализа PVS-Studio.
Читать полностью »
Как я участвовал в IOCCC-’19 (и проиграл). Часть 2: «Симулятор NOR»
2020-08-29 в 19:26, admin, рубрики: C, IOCCC, конкурс, отладка, системное программированиеЭто вторая часть цикла статей о том, как я участвовал в IOCCC'19

- Как я участвовал в IOCCC-'19 (и проиграл). Часть 1: «Крестики-нолики»
- Как я участвовал в IOCCC-'19 (и проиграл). Часть 2: «Симулятор NOR»
Я надеюсь, что данная статья поможет вам при разборе чужого кода или кода после декомпилятора или обфускатора.
Если вы еще не знаете, что такое IOCCC или вы хотите ознакомиться с более простым вариантом запутанного кода, то рекомендую обратиться к первой части.
Всем остальным я желаю приятного чтения.
Ядерный шелл поверх ICMP
2020-08-28 в 9:12, admin, рубрики: C, icmp, kernel, kernel module, linux, networking, Блог компании RUVDS.com, Разработка под Linux, Сетевые технологии
TL;DR: пишу модуль ядра, который будет читать команды из пейлоада ICMP и выполнять их на сервере даже в том случае, если у вас упал SSH. Для самых нетерпеливых весь код на github.
Осторожно! Опытные программисты на C рискуют разрыдаться кровавыми слезами! Я могу ошибаться даже в терминологии, но любая критика приветствуются. Пост рассчитан на тех, кто имеет самое приблизительное представление о программировании на C и хочет заглянуть во внутренности Linux.
В комментариях к моей первой статье упомянули SoftEther VPN, который умеет мимикрировать под некоторые «обычные» протоколы, в частности, HTTPS, ICMP и даже DNS. Я представляю себе работу только первого из них, так как хорошо знаком с HTTP(S), а туннелирование поверх ICMP и DNS пришлось изучать.Читать полностью »
Почему язык С не помешает вам делать ошибки
2020-08-14 в 10:48, admin, рубрики: C, Блог компании Mail.Ru Group, никто не читает теги, отладка, Программирование, стандарты
Если вкратце: потому что мы так сказали.
:)
Ладно, это слишком короткое объяснение для статьи, дорогой читатель, и мои провокационные слова требуют объяснения.
Встреча Комитета по языку С — которую сначала планировали провести в германском Фрайбурге, но не срослось по понятным причинам, — завершилась 7 августа. Она прошла хорошо, мы продвинулись по всем фронтам. Да, мы действительно продвигаемся, уверяю вас, и язык С не умер.
Читать полностью »
Алгоритм сортировки quadsort
2020-07-27 в 15:29, admin, рубрики: C, quadsort, алгоритм, Алгоритмы, сортировкаВступление
Эта статья описывает стабильный нерекурсивный адаптивный алгоритм сортировки слиянием под названием quadsort.
Четверной обмен
В основе quadsort лежит четверной обмен. Традиционно большинство алгоритмов сортировки разработаны на основе бинарного обмена, где две переменные сортируются с помощью третьей временной переменной. Обычно это выглядит следующим образом:
if (val[0] > val[1])
{
tmp[0] = val[0];
val[0] = val[1];
val[1] = tmp[0];
}
В четверном обмене происходит сортировка с помощью четырёх подменных переменных (своп). На первом этапе четыре переменные частично сортируются в четыре своп-переменные, на втором этапе они полностью сортируются обратно в четыре исходные переменные.

Этот процесс показан на диаграмме выше.
Читать полностью »
Что делать, если поймал HardFault?
2020-07-22 в 10:27, admin, рубрики: C, c++, cortex-m4, hard fault, stm32, STM32F4, программирование микроконтроллеровЧто делать, если поймал HardFault? Как понять, каким событием он был вызван? Как определить строчку кода, которая привела к этому? Давайте разбираться.
Всем привет! Сложно найти программиста микроконтроллеров, который ни разу не сталкивался с тяжелым отказом. Очень часто он никак не обрабатывается, а просто остаётся висеть в бесконечном цикле обработчика, предусмотренном в startup файле производителя. В то же время программист пытается интуитивно найти причину отказа. На мой взгляд это не самый оптимальный путь решения проблемы.
В данной статье я хочу описать методику анализа тяжелых отказов популярных микроконтроллеров с ядром Cortex M3/M4. Хотя, пожалуй, «методика» — слишком громкое слово. Скорее, я просто разберу на примере то, как я анализирую возникновение тяжелых отказов, и покажу, что можно сделать в подобной ситуации. Я буду использовать программное обеспечение от IAR и отладочную плату STM32F4DISCOVERY, так как эти инструменты есть у многих начинающих программистов. Однако это совершенно не принципиально, данный пример можно адаптировать под любой процессор семейства и любую среду разработки.
Стоит ли переходить с Python на Nim ради производительности?
2020-07-22 в 10:21, admin, рубрики: C, c++, nim, python, Блог компании VDSina.ru — хостинг серверов, ПрограммированиеNim — это сочетание синтаксиса Python и производительности C

Несколько недель назад я бродил по GitHub и наткнулся на любопытный репозиторий: проект был полностью написан на языке Nim. До этого я с ним не сталкивался, и в этот раз решил разобраться, что это за зверь.
Сначала я подумал, что отстал от жизни, что это один из распространённых языков программирования, который многие, в отличие от меня, активно используют. И тогда я решил изучить его.
Читать полностью »

