jcxz 234 28 апреля, 2021 Опубликовано 28 апреля, 2021 · Жалоба 4 минуты назад, MrBearManul сказал: С GCC давно не работал. Но от коллег слышу "поросячий визг", что это "самый тру компайлер"... Сам работаю с IAR. У ТС-а его RISCV-ветка. А Ваши коллеги визжат скорее всего от ARM- или CortexM- ветки. Разница в глубине проработки деталей между разными ветками может быть существенной. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MrBearManul 0 28 апреля, 2021 Опубликовано 28 апреля, 2021 · Жалоба 3 минуты назад, jcxz сказал: А Ваши коллеги визжат скорее всего от ARM- или CortexM- ветки. Нет, они визжат от x86-ia64 gcc ветки. Но я думал, что "сверху" этот компилятор "мыслит" одинаково для любой архитектуры. 4 минуты назад, jcxz сказал: Разница в глубине проработки деталей между разными ветками может быть существенной. Спасибо. Я не разбираюсь с темой gcc) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
esaulenka 7 28 апреля, 2021 Опубликовано 28 апреля, 2021 · Жалоба 3 hours ago, MrBearManul said: Нет, они визжат от x86-ia64 gcc ветки. Но я думал, что "сверху" этот компилятор "мыслит" одинаково для любой архитектуры. Одинаково, да. Только под разные архитектуры его собирают разные команды, и в какие-то не самые популярные ветки новые "фишки" попадают ооочень нескоро. Впрочем, в версии 7.1, которую использует @Harvester, вся нужная магия уже есть (см. выше ссылку на godbolt, там можно мгновенно сравнить разные компиляторы). Осталось только поменять расширение файла с исходником с ".c" на ".cpp". Ваш IAR, кстати, тоже более-менее должен уметь современный С++ (пример, который я показывал, это C++14). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
xvr 12 28 апреля, 2021 Опубликовано 28 апреля, 2021 · Жалоба On 4/27/2021 at 11:58 AM, Harvester said: Получается, что инициализация static BusFrame *const pxTxBuffers[] = {busBufTx1, busBufTx2}; происходит в рантайме? Я считал, что константы известны уже на этапе компиляции. У вас сам массив не константный (добавьте const после static). Но даже это для С может не помочь - там не всё то, что написано с const, является действительно константой :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 234 28 апреля, 2021 Опубликовано 28 апреля, 2021 · Жалоба 2 часа назад, xvr сказал: У вас сам массив не константный (добавьте const после static). Массив у ТС-а как раз константный: константный массив указателей на переменную. А то, что вы предлагаете, создаст: константный массив указателей на константу. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться