-
- Откройте для себя :) анонимные структуры и объединения. - ЫЫyкпy(13.09.2023 05:53)
- покажи мне мне для 51го это - POV(13.09.2023 09:02)
- Собственно про анонимные структуры и объединения в стандарте С,
называется ISO-IEC 9899-2011(E), он же известен как С11. Конкретно
для 8051 в "IAR C/C++ Compiler User Guide for 8051" вместе с
описанием расширений (Extensions for embedded systems programming)
и послаблений (Relaxations to Standard C). - ЫЫyкпy(13.09.2023 11:05)
- Я выше с99 не использую. Ну нафиг. - POV(13.09.2023 11:08)
- А что там такого страшного? Это в C++ страшно, а в тёплом ламповом
Си сплошные удобства. - Nikolay_Po(14.09.2023 08:01)
- Ну как бы а вдруг код надо будет перенести туда, где компилятор эти
штуки не умеет? - SciFi(14.09.2023 08:20)
- Какой компилятор не умеет анонимные структуры и объединения? - AlexBi(14.09.2023 09:49)
- Чем анонимная структура поможет в обсуждаемом вопросе?
Синтаксические всё равно остаётся доступ к полю структуры и со
всеми вытекающими накладными. Нахер такое счастье. - POV(14.09.2023 10:11)
- С какими такими накладными? У вас компилятор 2005г? - Nikolay_Po(14.09.2023 18:58)
- Как я понял, тут уже обсуждается наличие/отсутствие анонимных структур в разных компиляторах. Вот и стало интересно где такого нет. Для х51 такое, разумеется, будет не так эффективно как работа с переменной типа bit. - AlexBi(14.09.2023 10:22)
- Чем анонимная структура поможет в обсуждаемом вопросе?
Синтаксические всё равно остаётся доступ к полю структуры и со
всеми вытекающими накладными. Нахер такое счастье. - POV(14.09.2023 10:11)
- Какой компилятор не умеет анонимные структуры и объединения? - AlexBi(14.09.2023 09:49)
- Ну как бы а вдруг код надо будет перенести туда, где компилятор эти
штуки не умеет? - SciFi(14.09.2023 08:20)
- А что там такого страшного? Это в C++ страшно, а в тёплом ламповом
Си сплошные удобства. - Nikolay_Po(14.09.2023 08:01)
- Я выше с99 не использую. Ну нафиг. - POV(13.09.2023 11:08)
- Собственно про анонимные структуры и объединения в стандарте С,
называется ISO-IEC 9899-2011(E), он же известен как С11. Конкретно
для 8051 в "IAR C/C++ Compiler User Guide for 8051" вместе с
описанием расширений (Extensions for embedded systems programming)
и послаблений (Relaxations to Standard C). - ЫЫyкпy(13.09.2023 11:05)
- покажи мне мне для 51го это - POV(13.09.2023 09:02)
- У меня осталось впечатление, что попытки удружить дохленьким процам
и переносимость слабо совместимы. Ибо адаптация под дохликов может
убить всю гармонию, такое переносить не захочется. Если приходится
выжимать последние соки из дохлика, то лучше это делать без оглядки
на качков. - SciFi(12.09.2023 15:05)
- Ну я вот ряд небольших проектов под арм переводил.. как минимум
этот bool выглядит красиво и уместно. Я люблю строгую типизацию,
чтобы было понятно что возвращается. - POV(12.09.2023 15:06)
- Колхоз, имитация типа bdata - битовых переменных архитектуры MCS-51
через bitband на Cortex-M3 для "Кайла" (в gcc напрямую не прокатит) Chum_A(1325 знак., 13.09.2023 09:02)
- Это никому не нужно. Накладные высокие. Пусть компилятор сам решит
как ему bool сделать, хоть по 32 бита на переменную. - POV(13.09.2023 09:25)
- Нужно, если есть потребность быстро перенести исходники от MCS с
минимальными изменениями. Ещё момент, на MCS bdata хранится в
uint8_t, который можно переписать и за одну операцию изменить все
(его) bit, что часто встречалось с целью оптимизации
кода/быстродействия. И да, bitband нужен для обеспечения
атомарности доступа к bdata, как в оригинальном MCS. - Chum_A(13.09.2023 10:22)
- Я выше писал не об этом. Да и перенос с арм на 51 я думаю встречается в природе никогда. - POV(13.09.2023 10:25)
- Нужно, если есть потребность быстро перенести исходники от MCS с
минимальными изменениями. Ещё момент, на MCS bdata хранится в
uint8_t, который можно переписать и за одну операцию изменить все
(его) bit, что часто встречалось с целью оптимизации
кода/быстродействия. И да, bitband нужен для обеспечения
атомарности доступа к bdata, как в оригинальном MCS. - Chum_A(13.09.2023 10:22)
- Это никому не нужно. Накладные высокие. Пусть компилятор сам решит
как ему bool сделать, хоть по 32 бита на переменную. - POV(13.09.2023 09:25)
- Ну, bit не всё умеет из того, что умеет bool. Например bool array[]
или bool *ptr. Но если это не проблема, тогда почему бы и нет? - SciFi(12.09.2023 15:10)
- Ну да, указатели и массивы не для него.. Но как раз переносимость с 51го на арм будет полная. - POV(12.09.2023 15:12)
- Колхоз, имитация типа bdata - битовых переменных архитектуры MCS-51
через bitband на Cortex-M3 для "Кайла" (в gcc напрямую не прокатит) Chum_A(1325 знак., 13.09.2023 09:02)
- Ну я вот ряд небольших проектов под арм переводил.. как минимум
этот bool выглядит красиво и уместно. Я люблю строгую типизацию,
чтобы было понятно что возвращается. - POV(12.09.2023 15:06)
- Откройте для себя :) анонимные структуры и объединения. - ЫЫyкпy(13.09.2023 05:53)