#Featured #SoftwareDevelopment #Codeoptimization #Dataalignment #Memcpy
Утилита CANcat (или CAN-Мессенджер)
Недавно я купил себе CAN-трансивер USB2 CAN FD_V1 и с удивлением обнаружил насколько же простой и лаконичный протокол заложили разработчики в прошивку STM32G0B1CBT6. Это протокол SLCAN. По сути serial CLI . И это оказалось очень кстати, ведь в программировании микроконтроллеров порой приходится работать с UDS протоколом. Как известно, UDS протокол работает поверх сетевого протокола ISO-TP . В этом тексте я написал под SLCAN простую отладочную утилиту для отладки процесса передачи данных по протоколу ISO-TP (ISO 15765-2).
https://habr.com/ru/articles/948770/
#CANcat #memcpy #netcat #can_bus #isotp #DoCAN #usb2canfd #can #slcan #serial_port
[Перевод] strlcpy, или как CPU противоречат здравому смыслу
Один из моих старых постов о strlcpy недавно вызвал обсуждения на различных форумах. Вероятно, с этим как-то связан выпуск новой версии POSIX. Многие авторы приводили один контраргумент, который я слышал и раньше: «В общем случае, когда исходная строка умещается в конечный буфер, strlcpy будет обходить строку только один раз, а strlen + memcpy будут обходить её дважды». Под этим аргументом скрывается допущение о том, что однократный обход строки выполняется быстрее. И, честно говоря, это вполне разумное допущение. Но справедливо ли оно? Об этом мы и поговорим в статье.
“strcpy: A Niche Function You Don’t Need”, Chris Wellons (https://nullprogram.com/blog/2021/07/30/).
Via HN: https://news.ycombinator.com/item?id=28011825
#Programming #String #C #Security #strcpy #memcpy #Safety #Copy #BufferOverflow #Overflow