Jump to content

    
haker_fox

Кто тестировал IAR ARM 8.50, отзовитесь

Recommended Posts

Дамы и господа, тестировал ли кто-нибудь этого зверя? Как впечатления? Есть ли смысл на него перетаскивать проекты, выполненные в более ранних версиях (8.40, например). Спасибо!

Share this post


Link to post
Share on other sites

Я не вижу большого смысла перетаскивать и из 7.80.4 (в котором работаю) в 8.40, не то что 8.50. Зачем, если текущий IAR понимает нужный МК???

А если интересно - почему просто сами не попробуете? Только разницы, думаю, не увидите.

Share this post


Link to post
Share on other sites
40 минут назад, haker_fox сказал:

Есть ли смысл на него перетаскивать проекты, выполненные в более ранних версиях (8.40, например).

Перетаскивать это громко сказано. Открываешь да работаешь дальше. Из изменений - новая система лицензирования. Для честных пользователей - пофиг. Немного линкер перенастроили. Теперь он вместо варнинга при размещении  кода и данных в одном регионе памяти даёт ошибку. Превращается обратно  в варнинг параметром. Заметил, что таблица виртуальных методов появилась в коде там где её раньше не было. Десяток-другой лишних байт в прошивке из-за неё. А так, в целом, если с микроскопом не лазить - однохренственно.

18 минут назад, jcxz сказал:

Зачем, если текущий IAR понимает нужный МК???

Это важно для тех кто С++ пользует. Начиная с 8.40 С++17 хорошо поддерживается.

Share this post


Link to post
Share on other sites
37 minutes ago, jcxz said:

Зачем, если текущий IAR понимает нужный МК???

Возможно, новый компилятор изготавливает более оптимальный код. например.

37 minutes ago, jcxz said:

А если интересно - почему просто сами не попробуете?

К сожалению всё банально - нет времени (желания). Но я ж не на халяву, просто решил, если у кого есть данные, можно аккумулировать их тут.

21 minutes ago, VladislavS said:

Заметил, что таблица виртуальных методов появилась в коде там где её раньше не было.

В общем, мои мысли на счёт того, что он может быть ещё сыроват - подтверждаются. Видимо, компилятору нужно дать настояться в течение хотя бы полугода. И при условии, что нет найденных проблем, можно использовать, надеясь на кодооптимизацию и поддержку Си++17.

Share this post


Link to post
Share on other sites
17 минут назад, haker_fox сказал:

В общем, мои мысли на счёт того, что он может быть ещё сыроват - подтверждаются.

Чем подтверждаются? У меня там реально виртуальные методы есть. Более ранний компилятор с ними как-то по другому разбирался, а сейчас всё честно сделал. А может просто показал в отчёте более правильно. 

19 минут назад, haker_fox сказал:

Видимо, компилятору нужно дать настояться в течение хотя бы полугода.

Это как? Он что, от лежания в архиве какие-то волшебные свойства приобретёт?

21 минуту назад, haker_fox сказал:

И при условии, что нет найденных проблем

 Вопрос философский. Сидеть на (найденных + !найденных) проблемах, либо только на ненайденных.  При том что версия 8.50 это как раз и есть "отстоявшаяся" 8.40 - ничего нового в ней по С++17 нет.

Share this post


Link to post
Share on other sites
3 minutes ago, VladislavS said:

У меня там реально виртуальные методы есть

А какой вам от этого прок?) Ну кроме честности?

3 minutes ago, VladislavS said:

Он что, от лежания в архиве какие-то волшебные свойства приобретёт?

Нет, выуживаются ошибки. Компилятор правится или неправится. И можно делать вывод о годности к употреблению. У меня сейчас проект к релизу приближается, не то время, чтобы тестировать. Поэтому я хочу поспрашивать об этом коллег.

5 minutes ago, VladislavS said:

ничего нового в ней по С++17 нет

Да, в официально релизе также сообщается, что там добавили новые правила для статического анализатора.

Share this post


Link to post
Share on other sites
2 минуты назад, haker_fox сказал:

А какой вам от этого прок?) Ну кроме честности?

Вопрос не понят. Вы спросили - я ответил что заметил. Лично мне от этого ни жарко, ни холодно - работает всё как надо.

4 минуты назад, haker_fox сказал:

И можно делать вывод о годности к употреблению. У меня сейчас проект к релизу приближается, не то время, чтобы тестировать.

Всё равно же код тестировать, какая разница чем он собран. Я вот в последнее время наоборот разными компиляторами собираю проект (IAR, GCC, ARM v6) - много интересного про свой код узнаёшь :)

Share this post


Link to post
Share on other sites
4 minutes ago, VladislavS said:

Вопрос не понят.

Простите, это я маленько не понял вас. Вопрос понят, принят и закрыт)

4 minutes ago, VladislavS said:

много интересного про свой код узнаёшь

Здорово, что у вас есть такая возможность! Мне можно этим заниматься только в личное время. Но я это буду делать на новом проекте для себя. А вот на основной работе мне официально не разрешат тестировать новый компилятор.

15 minutes ago, VladislavS said:

много интересного про свой код узнаёшь :)

Листинги анализируете?:acute:

Share this post


Link to post
Share on other sites
1 час назад, VladislavS сказал:

Это важно для тех кто С++ пользует. Начиная с 8.40 С++17 хорошо поддерживается.

Я использую. И мне не важно  :wink:

1 час назад, haker_fox сказал:

Возможно, новый компилятор изготавливает более оптимальный код. например.

Возможно. Но это важно если у вас памяти или быстродействия впритык.

Цитата

К сожалению всё банально - нет времени (желания). Но я ж не на халяву, просто решил, если у кого есть данные, можно аккумулировать их тут.

Можете поработать бета-тестировщиком. Это полезно.... для развития продукта  :wink: 

За найденные баги, IAR-о-писатели скажут Вам спасибо. Мне вот говорили уже  :blush:

 

Цитата

В общем, мои мысли на счёт того, что он может быть ещё сыроват - подтверждаются. Видимо, компилятору нужно дать настояться в течение хотя бы полугода.

Компилятор - это не брага - настаивание ему бесполезно. Баги как могут быть исправлены, так и добавлены новые. История IAR это подтверждает.

Share this post


Link to post
Share on other sites
2 часа назад, haker_fox сказал:

Листинги анализируете?

И листинги, и варнинги, и даже сообщения об ошибках возникают на других компиляторов после успешной компиляции на IAR. Кое-где IAR "прощает", а где-то даже на стандарт кладёт. Кое-где "больно" было при переходе на GCC.

2 часа назад, jcxz сказал:

Я использую. И мне не важно

Значит так используете. Вот примитив по современным меркам, а 8.40 вынь да положь

template<unsigned N, auto f, auto... args>
inline void REPEAT()
{
  if constexpr (N > 0)
  {
    f(args...);
    REPEAT<N - 1, f, args...>();
  }
}

А ведь на подходе С++20 и GCC уже умеет так

template<unsigned N, auto f, auto... args> requires std::is_invocable_v<decltype(f), decltype(args)...>
inline void Repeat()
{
  //....
}

 

Share this post


Link to post
Share on other sites
1 hour ago, VladislavS said:

А ведь на подходе С++20 и GCC уже умеет так

Я вот всё задаюсь вопросом, этож сколько времени нужно потратить на чтение книг, тчобы все эти новые фичи изучить?

Share this post


Link to post
Share on other sites

Всё не так плохо. Язык развивается не так быстро. Вместе с ним и мы развиваемся. Новый стандарт выходит раз в 3 года. От одного стандарта к другому шаги не такие уж гигантские. Можно и освоить. К тому же, в язык попадают реально нужные вещи, которые долго обсуждаются перед попаданием в стандарт и получив которые мы говорим "ну наконец то теперь можно вот так". Если почитывать конференции, посматривать видео докладов, то к моменту выхода стандарта уже знаешь что в нём будет, а что пока нет. И складывается стойкое "хочу" и "мне это надо".

Вот тут очень много отличных докладов С++User Group

Ну а книг толковых по С++20 я наверное уже на пенсии дождусь :) 

Share this post


Link to post
Share on other sites
1 час назад, haker_fox сказал:

Я вот всё задаюсь вопросом, этож сколько времени нужно потратить на чтение книг, тчобы все эти новые фичи изучить?

Вопрос из разряда: "Вам шашечки или ехать?"

Я предпочитаю тратить время на решение практических задач, а не изучение новых фенечек языка. Может что-то и есть полезное, но польза сего вельми мала. имхо.

Share this post


Link to post
Share on other sites
16 minutes ago, jcxz said:

Я предпочитаю тратить время на решение практических задач

Тут ведь всё просто: теория оборачивается практикой. И наоборот. Да и как сделать вывод: полезная фенечка или нет? Ведь пока не попробуешь, не поймёшь. А чтобы попробовать - надо изучить. Впрочем, моя специфика работы такова, что чистым программированием заниматься не приходится. Иногда и схемотехникой озадачивают, и трассировкой плат (редко). Получается так, что расширяюсь в основном))) А не расту в одном лишь направлении.

Share this post


Link to post
Share on other sites
35 минут назад, haker_fox сказал:

теория оборачивается практикой. И наоборот.

Совершенно верно. Всё накапливается за много лет работы. Сначала классик для инкапсуляции вставишь, поперегружаешь фукции, потом шаблончик для унификации прикрутишь. Добавишь к этому constexpr, auto и вариативные шаблоны и вот ты уже в метапрограммирование попал. А дальше "держите меня двое". :)

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.