-
- Еще раз уточню про замысел: оно не случайно совпало, именно так и
задумано. Есть несколько сущностей, которые имеют одинаковый набор
структур с одинаковым назначением, но разным набором данных. Вот
эти структуры и имеют одинаковые имена, ибо логично и некоторая
защита от ошибок в будущем. Argon(1546 знак., 11.04.2022 10:59 - 11:04)
- А общий КОД у проектев есть, или только общие объявления типов? Если есть, то проблема - как ЛИНКЕР сможет различить структуры из разных модулей? По идее, после СИ-компилятора - никак. Это будут одинаковые символы, нет? Cкpипaч(50 знак., 11.04.2022 19:47)
- Вместо пространства имен должно быть название сущности, на мой
взгляд. Тогда можно извратиться и обработать одним кодом данные
всех сущностей. - VLLV(11.04.2022 19:18)
- Сущности имеют разные имена, но одинаковые имена своих структур
данных. Особенность в том, что мне надо протащить эти структуры
данных через хедеры головного проекта, ибо описания классов
находятся в хедерах (головного проекта). Если не применять
пространства имен, то будут конфликты из-за попыток переопределения
структур с одним и тем же именем. Argon(181 знак., 11.04.2022 19:27)
- Первая фраза очевидна, а потом я теряюсь. Может быть мое решение
было бы с помощью виртуальной структуры, которая включает все
дивайсы, как это обычно делается для распределения памяти EEPROM, и
позволяет обратиться по смещению поля, но это plain C. Зато меньше
абстракций. - VLLV(11.04.2022 19:39)
- А что за виртуальная структура, которая включает все девайсы? У меня это не очень вируальная структура, а вполне реальный класс. Однако он описывается в заголовочном файле (хедере), из-за чего и весь сыр-бор, ибо в него надо воткнуть все классы девайсов, включающие файлы с пресловутыми одноименными структурами. - Argon(11.04.2022 20:14)
- off... слушаю на ночь видосики от АРХЭ, пальцы строчат "головоногий проект", приходится исправлять. - Argon(11.04.2022 19:29)
- Первая фраза очевидна, а потом я теряюсь. Может быть мое решение
было бы с помощью виртуальной структуры, которая включает все
дивайсы, как это обычно делается для распределения памяти EEPROM, и
позволяет обратиться по смещению поля, но это plain C. Зато меньше
абстракций. - VLLV(11.04.2022 19:39)
- Сущности имеют разные имена, но одинаковые имена своих структур
данных. Особенность в том, что мне надо протащить эти структуры
данных через хедеры головного проекта, ибо описания классов
находятся в хедерах (головного проекта). Если не применять
пространства имен, то будут конфликты из-за попыток переопределения
структур с одним и тем же именем. Argon(181 знак., 11.04.2022 19:27)
- Так вот сходу трудно въехать в архитектуру чужого проекта Tyмблep(631 знак., 11.04.2022 18:26)
- Хех, сишники используют X-Macro и не тужат. SciFi(1 знак., 11.04.2022 11:02, ссылка)
- Вот только не надо тута холиваров C vs C++ ) Кесарю - кесарево. - Argon(11.04.2022 11:07)
- Кто сказал холивар? Просто показываю, что есть вот такой вариант
решения. Разве я на нём настаивал? - SciFi(11.04.2022 11:13)
- я почему-то услышал: "гавнакоот, гавнакоот" )) Рефлекс уже! - Argon(11.04.2022 11:14)
- Кто сказал холивар? Просто показываю, что есть вот такой вариант
решения. Разве я на нём настаивал? - SciFi(11.04.2022 11:13)
- Вот только не надо тута холиваров C vs C++ ) Кесарю - кесарево. - Argon(11.04.2022 11:07)
- Еще раз уточню про замысел: оно не случайно совпало, именно так и
задумано. Есть несколько сущностей, которые имеют одинаковый набор
структур с одинаковым назначением, но разным набором данных. Вот
эти структуры и имеют одинаковые имена, ибо логично и некоторая
защита от ошибок в будущем. Argon(1546 знак., 11.04.2022 10:59 - 11:04)