-
- потому что у ATTiny11 аппаратный трёхуровневый стек - m16(30.09.2022 18:16)
- Стек то тут причём? - VladislavS.(30.09.2022 18:29)
- В руководстве Атмел по тини15 (может 12 - не помню) явно
указывалось, что стек 3 уровневый и с этим связана сложность
написания программ на С. Я так думаю, это было связанос тем, что не
всякий компилятор сможет правильно передать параметры функции при
вызове - они же обычно через стек передаются - а тут надо в стек
только адрес возврата ложить. - symbions(30.09.2022 23:44)
- Параметры, если их не много, через регистры передаются. Результат
возвращается тоже. На стеке всякие локальные переменные создаются.
Ну так это хоть с плюсАми, хоть с минусАми так. Там где на С можно
утоптаться на С++ и подавно. - VladislavS.(01.10.2022 00:48)
- То, что для подобных ATtiny компилятора C++ в природе нет не
смущает никак? - AlexG(01.10.2022 03:22)
- Не знаю кто такие подобные, а для AVR есть GCC и IAR. Последний
что-то типа С++14 поддерживает, а вот GCC С++20 легко. - VladislavS.(01.10.2022 06:53)
- По последним данным "The compiler supports all C++17 features. The
C++ library supports C++14 with no C++17 additions. (Latest version
only)." ЫЫyкпy(436 знак., 01.10.2022 08:43)
- Для ARM IAR поддердивает С++17 полностью. С версии 9.30.1 и в библиотеках. - VladislavS.(01.10.2022 09:13)
- Подобные ATtiny11, это с аппаратным стеком и без ОЗУ. Компилятор Си
для них один - ImageCraft. IAR и GCC использовать можно только
совершенно нештатными способами, поддержки этих МК нет. - AlexG(01.10.2022 07:19)
- Да, вы правы, напрямую С++ для этих контроллеров не использовать. Собственно, как и С. Так что, тут ни вашим, ни нашим. - VladislavS.(01.10.2022 08:20)
- По последним данным "The compiler supports all C++17 features. The
C++ library supports C++14 with no C++17 additions. (Latest version
only)." ЫЫyкпy(436 знак., 01.10.2022 08:43)
- Не знаю кто такие подобные, а для AVR есть GCC и IAR. Последний
что-то типа С++14 поддерживает, а вот GCC С++20 легко. - VladislavS.(01.10.2022 06:53)
- То, что для подобных ATtiny компилятора C++ в природе нет не
смущает никак? - AlexG(01.10.2022 03:22)
- Параметры, если их не много, через регистры передаются. Результат
возвращается тоже. На стеке всякие локальные переменные создаются.
Ну так это хоть с плюсАми, хоть с минусАми так. Там где на С можно
утоптаться на С++ и подавно. - VladislavS.(01.10.2022 00:48)
- В руководстве Атмел по тини15 (может 12 - не помню) явно
указывалось, что стек 3 уровневый и с этим связана сложность
написания программ на С. Я так думаю, это было связанос тем, что не
всякий компилятор сможет правильно передать параметры функции при
вызове - они же обычно через стек передаются - а тут надо в стек
только адрес возврата ложить. - symbions(30.09.2022 23:44)
- Стек то тут причём? - VladislavS.(30.09.2022 18:29)
- потому что у ATTiny11 аппаратный трёхуровневый стек - m16(30.09.2022 18:16)