Какую из переменных, в упоминаемом мной коде вы считаете не выровненым?
Код не упадет, так как переменная uint64_t x выровнена естественным образом, и в printf передается адрес на эту переменную. А как внутри printf уже будут обрабатываться эти байты не очень важно.
уверен что и иар с MISRA норм соберет, но наверно для самой printf возникнет нюанс, какое-то из правил касалось переменного кол-ва аргументов
А кросс-платформенное решение я уже опубликовал в статье, вот оно краткое и лаконичное:
ваш вариант с
printf ("%.8s\n", (char*)&x);
тоже такой же кросс платформенный, но имхо более понятный, так как не потребует рефакторинга.
Единственная проблема в обоих решениях это BE/LE, а это можно обойти директивой препроцессора, каким-нибудь #ifdef__BYTE_ORDER__ , или compile-time проверкой через определение положения не нулевого байта в переменной int32 == 1.
извините, но я не понял вас.
Основной посыл, что вместо использования goto, аллоцировать/открывать до отдельного метода, а освобождать/закрывать после него. Это позволяет внутри метода не писать сложные if-ы, и выходить из метода в произвольном месте
Видимо мое понимание аналогий совпадает в какой-то мере с авторским.
Так вот порт — это конец дорожки. Понятненько?
Я считаю что автор так и написал, шина с разьемом по середине, те по вашей аналогии, по середине дороги выкопали море и поставили два порта (то бишь разъем)
Порт это по сути шина с разъёмом по середине. Протокол — это порядок взаимодействия через контакты.
а что не так с этим выражением? Если спуститься на землю прочитать в контексте, то выражение становится логичным, Это как шина, но посередине, те между концами шины, добавили разъем.
Да и протокол охарактеризован правильно, вроде бы автор не тянется к академическому повествованию
полностью отказаться финансировать власти могут себе позволить только круглые сироты.
А блокировки, направленные на простых людей - это тоже правильно, если эти простые люди живут в простой стране, которая просто бомбит другую страну.
интересно, а мирные жители, которых 8 лет бомбили имеют ли право также считать? Те коллективная ответственность это правильно для всех сторон?
а код может не пройти ревью, согласен. Я не пропускаю подобные хаки
Какую из переменных, в упоминаемом мной коде вы считаете не выровненым?
Код не упадет, так как переменная uint64_t x выровнена естественным образом, и в printf передается адрес на эту переменную. А как внутри printf уже будут обрабатываться эти байты не очень важно.
уверен что и иар с MISRA норм соберет, но наверно для самой printf возникнет нюанс, какое-то из правил касалось переменного кол-ва аргументов
ваш вариант с
тоже такой же кросс платформенный, но имхо более понятный, так как не потребует рефакторинга.
Единственная проблема в обоих решениях это BE/LE, а это можно обойти директивой препроцессора, каким-нибудь #ifdef
__BYTE_ORDER__
, или compile-time проверкой через определение положения не нулевого байта в переменной int32 == 1.вы пишете именно про uint64_t* (указатель на uint64_t)? как может быть фиксированная длина у одного указателя, а у другого нет?
оптимизация? я про адреса
Вы молодец, и ваши статьи нужные. Спасибо
visual gdb однозначно стоит своих денег.
jtag в основном хорошо помогает в отладке.
Ранее пробовал в данной связки и в принципе довольно не плохо себя показало.
Основной посыл, что вместо использования goto, аллоцировать/открывать до отдельного метода, а освобождать/закрывать после него. Это позволяет внутри метода не писать сложные if-ы, и выходить из метода в произвольном месте
7 мая?
Буфер в РАМе, а обработчик в irq.
Windows Server 2016 на VMware Workstation 15 Pro
Я считаю что автор так и написал, шина с разьемом по середине, те по вашей аналогии, по середине дороги выкопали море и поставили два порта (то бишь разъем)
а что не так с этим выражением? Если
спуститься на землюпрочитать в контексте, то выражение становится логичным, Это как шина, но посередине, те между концами шины, добавили разъем.Да и протокол охарактеризован правильно, вроде бы автор не тянется к академическому повествованию