Arlleex 178 31 октября, 2022 Опубликовано 31 октября, 2022 · Жалоба http://microsin.net/programming/arm/c-operators-precedence.html Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 31 октября, 2022 Опубликовано 31 октября, 2022 · Жалоба Приоритет у >> выше. 0B1 - наверное, идиотический дефайн для 0x1. Не надо так писать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 178 31 октября, 2022 Опубликовано 31 октября, 2022 · Жалоба 15 минут назад, aaarrr сказал: Приоритет у >> выше. 0B1 - наверное, идиотический дефайн для 0x1. Ну 0B1 и не скомпилится, если по стандарту Си. Но в каких-то тулзах (типа старо-убогих CodeVisionAVR) Си имеет псевдорасширения, там можно писать 0b1. А я, например, пишу B0 (для 1 << 0). Задефайнил себе их от 0 до 64, вроде удобно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 234 31 октября, 2022 Опубликовано 31 октября, 2022 · Жалоба 1 час назад, Arlleex сказал: А я, например, пишу B0 (для 1 << 0). Задефайнил себе их от 0 до 64, вроде удобно. Наверное всё-таки до 63 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 61 31 октября, 2022 Опубликовано 31 октября, 2022 · Жалоба IAR 8.40.1, можно и так, без макросов) Где-то несколько раз использовал в проектах, если к месту, то удобно) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 178 1 ноября, 2022 Опубликовано 1 ноября, 2022 · Жалоба 7 часов назад, jcxz сказал: Наверное всё-таки до 63 Да, описка. 5 часов назад, haker_fox сказал: IAR 8.40.1, можно и так, без макросов) Где-то несколько раз использовал в проектах, если к месту, то удобно) При желании можно родными силами препроцессора обойтись и писать на родном Си на любом компиляторе. А еще, вроде, есть всякие уже стандартные заголовочники, плюс в C++ bitset-ы. Но, ИМХО, как и выше было сказано - всего этого лучше избегать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 61 1 ноября, 2022 Опубликовано 1 ноября, 2022 · Жалоба 17 minutes ago, Arlleex said: Но, ИМХО, как и выше было сказано - всего этого лучше избегать. Дело вкуса Мне ещё нравится, что IAR теперь поддерживает разделение групп чисел. Мне кажется, что тоже удобно auto qqq = 2'000'000; Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VladislavS 39 1 ноября, 2022 Опубликовано 1 ноября, 2022 · Жалоба 11 минут назад, haker_fox сказал: Мне ещё нравится, что IAR теперь поддерживает Вообще-то, это стандарт языка. Было бы странно, если бы IAR его не поддерживал. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 178 1 ноября, 2022 Опубликовано 1 ноября, 2022 · Жалоба 15 минут назад, haker_fox сказал: Мне ещё нравится, что IAR теперь поддерживает разделение групп чисел... Не только IAR, а все, что поддерживает C++14 Цитата Мне кажется, что тоже удобно Наверное, правда у себя все равно пишу по старинке. Лично я жду, когда поддержку C++21 впилят в кейл. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VladislavS 39 1 ноября, 2022 Опубликовано 1 ноября, 2022 · Жалоба 9 минут назад, Arlleex сказал: Лично я жду, когда поддержку C++21 впилят в кейл. Никогда. Есть стандарт С++20 и следующий будет, скорее всего, С++23. 10 часов назад, cfif сказал: if(0B1 & GPIOB_BASE -> IDR >> 10) Автор зачем-то пытается помочь компилятору. Это плохая практика. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 178 1 ноября, 2022 Опубликовано 1 ноября, 2022 · Жалоба 5 минут назад, VladislavS сказал: Есть стандарт С++20 и следующий будет, скорее всего, С++23. Ну пусть 23. Хоть 133, мне нужна нормальная назначенная инициализация, как это было в Си. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 61 1 ноября, 2022 Опубликовано 1 ноября, 2022 · Жалоба 21 minutes ago, VladislavS said: Вообще-то, это стандарт языка. Было бы странно, если бы IAR его не поддерживал. Совершенно верно. Но я не зря написал версию IAR. Например, IAR 7.50 эти нововведения не поддерживает. А IAR 8.40 не поддерживает, насколько я помню, полностью все прелести Си++ 17... 22 minutes ago, Arlleex said: Не только IAR, а все, что поддерживает C++14 Убедили))) Я-то думал, что это такой IAR уникальный и няшный))) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VladislavS 39 1 ноября, 2022 Опубликовано 1 ноября, 2022 · Жалоба 2 минуты назад, haker_fox сказал: А IAR 8.40 не поддерживает Если что, крайний IAR ARM на сегодня 9.30 и С++17 поддерживает полностью. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 61 1 ноября, 2022 Опубликовано 1 ноября, 2022 · Жалоба 5 minutes ago, VladislavS said: Если что, крайний IAR ARM на сегодня 9.30 и С++17 поддерживает полностью. Да, совершенно верно. Но у нас почти все проекты на IAR 8.40 и IAR 7.50 за почти десяток лет. И переводить старые проекты на новый IAR 9.30 никто не рискует по принципу: работает, не трогай. А ставить IAR 9.30 для новых проектов считает нерентабельно. По крайней мере пока. P.S. В своих личных проектах я использую как правило самый свежий компилятор. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VladislavS 39 1 ноября, 2022 Опубликовано 1 ноября, 2022 · Жалоба 4 минуты назад, haker_fox сказал: А ставить IAR 9.30 для новых проектов считает нерентабельно. Учитывая вашу локацию и сложившуюся геополитическую ситуацию, слово "нерентабельно" вызывает диссонанс. 🙂 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться