вот только в реализации никаких отдельных указателей arrTwo[0], arrTwo[1] - не существует.
Боюсь, ТС по вашему объяснению как раз что-то такое представит.
Каждая переменная выводит свой адрес два раза.
Нашел прошивку в гит репозитории, она весит 50 кб и никак не помогает
/lib/firmware/ath9k_htc/htc_9271-1.4.0.fw?[ 16.636622] usb 3-1.2: ath9k_htc: Firmware ath9k_htc/htc_9271-1.4.0.fw requested
[ 16.636798] usbcore: registered new interface driver ath9k_htc
[ 16.672308] usb 3-1.2: firmware: direct-loading firmware ath9k_htc/htc_9271-1.4.0.fw
[ 16.955280] usb 3-1.2: ath9k_htc: Transferred FW: ath9k_htc/htc_9271-1.4.0.fw, size: 51008
[ 17.207461] ath9k_htc 3-1.2:1.0: ath9k_htc: HTC initialized with 33 credits
[ 17.474622] ath9k_htc 3-1.2:1.0: ath9k_htc: FW Version: 1.4
[ 17.474627] ath9k_htc 3-1.2:1.0: FW RMW support: Onfirmware-atheros. relaxed обеспечивает только видимость изменений
https://en.cppreference.com/w/c/atomic/memory_orde...
Объяснение к memory_order_relaxed
В методе producer_maybe_push() нужно синхронизировать данные только после записи
Что здесь обозначено словом "синхронизировать"?
Тем или иным способом сделать видимыми данные для других потоков после записи (и перед чтением).
Если ошибок нет, то, вероятно, очередь работает правильно.
relaxed обеспечивает только видимость изменений самой атомарной переменной в других потоках.
В методе producer_maybe_push() нужно синхронизировать данные только после записи
Сделайте тест и погоняйте его несколько часов с разным количеством узлов.
The value of an atomic object M, as determined by evaluation B, is the value stored by some unspecified side effect A that modifies M, where B does not happen before A.
producer_maybe_push() нет никакого упорядочивания доступа к head вообще, поэтому если в ходе выполнения потока в котором вызывается producer_maybe_push() нет никаких других барьеров, то в качестве A нельзя будет найти никакой побочный эффект меняющий head. почему ошибка указывает на конструктор, а не на arr?
как мне создать пространство для массива (не выделяя дин память) и не создавать по умолчанию их?
Reset_Handler -- это просто функция, она не обязана быть в каком-то определённом месте секции .text. Однако её адрес будет записан как стартовый адрес в заголовке ELF, а также её адрес будет записан в reset-векторе в таблице векторов если используется cmsis.