|
22 / 56 / 9
Регистрация: 29.09.2011
Сообщений: 618
|
||||||||||||||||||||||||||
Инициализация структур11.03.2021, 08:22. Показов 5879. Ответов 32
Метки нет (Все метки)
Здравствуйте.
Я пишу программу для ESP32 и столкнулся с проблемами инициализации. То ли я чего - то не понимаю, то ли там используется какая - то странная помесь С++ и С (то ли лыжи не едут, то ли я недалёкий). Помогите разобраться. Введение. В примере создания сервера объявляется структура профилей. https://github.com/espressif/e... tts_demo.c
Для этого я создал три структуры: дескриптора, характеристику и сервис:
Раньше объявление экземпляра структуры gatts_profile_inst было такое:
Второй и главный вопрос: как, собственно инициализировать экземпляр новой структуры gatts_profile_inst? Обязательно надо инициализировать всё в одном месте за один раз, иначе вся переделка не будет иметь смысла. И инициализировать надо так, чтобы компилятор с линкером перестали ругаться. Есть идеи?
0
|
||||||||||||||||||||||||||
| 11.03.2021, 08:22 | |
|
Ответы с готовыми решениями:
32
Инициализация структур
|
|
22 / 56 / 9
Регистрация: 29.09.2011
Сообщений: 618
|
||||||
| 11.03.2021, 16:02 [ТС] | ||||||
|
DrOffset,
Одно место - один кусочек кода. Может быть и через функцию, я уже не против. Но лучше, чтобы инициализация выглядела как - то так:
CRTP, STM или ESP, особой разницы нету. Малое количество памяти - особенность всех микроконтроллеров. Добавлено через 16 минут Там у каждой характеристики есть ещё свои свой ствйства и значения, у дескриптора тоже есть значения, я их в примере не указал.
0
|
||||||
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
||||||||
| 11.03.2021, 16:23 | ||||||||
1
|
||||||||
|
22 / 56 / 9
Регистрация: 29.09.2011
Сообщений: 618
|
|
| 11.03.2021, 16:45 [ТС] | |
|
DrOffset,
То есть порядок получается обратный? Сначала я описываю дескрипторы, потом характеристики, включающие эти дескрипторы, потом сервисы, включающие характеристики, потом профили? Немного неудобно, можно запутаться и не наглядно. Нельзя ли сделать прямой порядок инициализации?
0
|
|
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
|
| 11.03.2021, 16:45 | |
|
1
|
|
|
22 / 56 / 9
Регистрация: 29.09.2011
Сообщений: 618
|
||||||
| 11.03.2021, 17:42 [ТС] | ||||||
|
DrOffset,
Можете привести пример использования указателей так, чтобы порядок был прямым? Добавлено через 10 минут Если есть вариант с шаблонами, то его тоже с удовольствием рассмотрю. Добавлено через 36 минут Я сейчас пытаюсь сделать так:
0
|
||||||
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
|||
| 11.03.2021, 18:00 | |||
|
Добавлено через 16 секунд
1
|
|||
|
Вездепух
13210 / 6843 / 1824
Регистрация: 18.10.2014
Сообщений: 17,306
|
||||||||
| 11.03.2021, 19:50 | ||||||||
Сообщение было отмечено _20_ как решение
Решение
1
|
||||||||
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
||
| 11.03.2021, 21:35 | ||
|
1
|
||
|
Вездепух
13210 / 6843 / 1824
Регистрация: 18.10.2014
Сообщений: 17,306
|
||
| 11.03.2021, 21:41 | ||
|
2
|
||
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
|
| 11.03.2021, 21:51 | |
|
TheCalligrapher, спасибо, честно говоря я не знал об этом.
_____ Ну тогда автору проще всего ничего не выдумывать, а воспользоваться этой фичей для своего проекта. Даже если у него проект на С++, то определение и инициализацию можно сделать в одном файле компилируемом как С и все. Вынесет объявление этих массивов в соответствующий заголовочный файл и подключит в остальные части проекта на C++.
1
|
|
|
22 / 56 / 9
Регистрация: 29.09.2011
Сообщений: 618
|
|||||||||||||||||||||
| 11.03.2021, 23:14 [ТС] | |||||||||||||||||||||
|
TheCalligrapher,
Мне очень нравится Ваше предложение. Именно то, что я хотел. Я поработаю ещё над внешним видом, пока это выглядит так:
Добавлено через 10 минут
0
|
|||||||||||||||||||||
|
Вездепух
13210 / 6843 / 1824
Регистрация: 18.10.2014
Сообщений: 17,306
|
|
| 11.03.2021, 23:14 | |
Сообщение было отмечено _stanislav как решение
Решение
Так а запятая в конце предыдущей строчки почему отсутствует? Причем везде упорно повторяется одна и та же ошибка.
1
|
|
|
22 / 56 / 9
Регистрация: 29.09.2011
Сообщений: 618
|
|
| 12.03.2021, 01:12 [ТС] | |
|
TheCalligrapher,
Большое спасибо. Всё компилируется, прошивается и работает так же, как и раньше. То, что надо!
0
|
|
| 12.03.2021, 01:12 | |
|
Инициализация вложенных структур Инициализация вектора структур Инициализация массива структур
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
сукцессия 25. Хронология ошибок
anaschu 12.07.2026
# От 50-тонного гриба до устойчивого леса: хроника ошибок при построении модели вековой сукцессии микоризы
## О чём эта статья
В процессе построения ОДУ-модели (система дифференциальных. . .
|
сукцессия 24. Промежуточное общее описание модели
anaschu 12.07.2026
Хендофф: модель АМ→ЭКМ сукцессии микоризы (ризосфера, 50 лет)
Содержание проекта
Симуляция вековой (50 лет) экологической сукцессии в почве леса
Основные участники: АМ-гриб, ЭКМ-гриб,. . .
|
сукцессия 23. Более физиологичная физиология, более экологичная экология, более диффурные диффуры.
anaschu 12.07.2026
Что реально нашли и починили за эти 5 часов
Правило Линдемана (КПД конверсии сахара в тело, kEff) — раньше 100% полученного углерода шло прямо в биомассу гриба; теперь только kEff=0. 5 (после. . .
|
сукцессия 22. От артефактов к физиологии: калибровка агентной модели грибной сукцессии для воспроизведения сезонной динамики и pH-плато
anaschu 11.07.2026
Аннотация
В данной работе представлена калибровка агентной модели динамики грибных сообществ (fungal-succession), направленная на устранение нефизичных артефактов (коллапс биомассы, мгновенное. . .
|
|
Сукцессия 20. Война автоботов. Делаем ставки. Лёд против "пш-пш!".
anaschu 11.07.2026
Битва ИИ в ризосфере: Как мы скрестили жесткие ОДУ, закон Фика и «подземный шантаж»
Уважаемые коллеги!
Хочу поделиться уникальным опытом ведения междисциплинарной компьютерной разработки. Прямо. . .
|
Сукцессия 19. Какие выводы я сделал из модели? Часть 2.Внутримикоризный стехиометрический буфер и хроно-дискретные зоны экспансии
anaschu 11.07.2026
Био-Инженерный Ликбез: Архитектура Модели Ризосферы
Математический аппарат моделирования
|
Сукцессия 18. Какие выводы я сделал из войны грибов с деревьями? Часть 1- рассказ и немного про термины
anaschu 11.07.2026
Био-Инженерный Ликбез: Архитектура Модели Ризосферы
Математический аппарат моделирования
Система ОДУ описывает динамику изменения массы различных компонентов системы во времени. Ключевой. . .
|
Просветление в 5 секунд
kumehtar 10.07.2026
Андрей Веретенников выдал фразу недавно: "Вам не обязательно кем-то себя считать"
|