haker_fox 0 Posted April 14, 2020 · Report post Дамы и господа, тестировал ли кто-нибудь этого зверя? Как впечатления? Есть ли смысл на него перетаскивать проекты, выполненные в более ранних версиях (8.40, например). Спасибо! Quote Ответить с цитированием Share this post Link to post Share on other sites
jcxz 0 Posted April 14, 2020 · Report post Я не вижу большого смысла перетаскивать и из 7.80.4 (в котором работаю) в 8.40, не то что 8.50. Зачем, если текущий IAR понимает нужный МК??? А если интересно - почему просто сами не попробуете? Только разницы, думаю, не увидите. Quote Ответить с цитированием Share this post Link to post Share on other sites
VladislavS 0 Posted April 14, 2020 · Report post 40 минут назад, haker_fox сказал: Есть ли смысл на него перетаскивать проекты, выполненные в более ранних версиях (8.40, например). Перетаскивать это громко сказано. Открываешь да работаешь дальше. Из изменений - новая система лицензирования. Для честных пользователей - пофиг. Немного линкер перенастроили. Теперь он вместо варнинга при размещении кода и данных в одном регионе памяти даёт ошибку. Превращается обратно в варнинг параметром. Заметил, что таблица виртуальных методов появилась в коде там где её раньше не было. Десяток-другой лишних байт в прошивке из-за неё. А так, в целом, если с микроскопом не лазить - однохренственно. 18 минут назад, jcxz сказал: Зачем, если текущий IAR понимает нужный МК??? Это важно для тех кто С++ пользует. Начиная с 8.40 С++17 хорошо поддерживается. Quote Ответить с цитированием Share this post Link to post Share on other sites
haker_fox 0 Posted April 14, 2020 · Report post 37 minutes ago, jcxz said: Зачем, если текущий IAR понимает нужный МК??? Возможно, новый компилятор изготавливает более оптимальный код. например. 37 minutes ago, jcxz said: А если интересно - почему просто сами не попробуете? К сожалению всё банально - нет времени (желания). Но я ж не на халяву, просто решил, если у кого есть данные, можно аккумулировать их тут. 21 minutes ago, VladislavS said: Заметил, что таблица виртуальных методов появилась в коде там где её раньше не было. В общем, мои мысли на счёт того, что он может быть ещё сыроват - подтверждаются. Видимо, компилятору нужно дать настояться в течение хотя бы полугода. И при условии, что нет найденных проблем, можно использовать, надеясь на кодооптимизацию и поддержку Си++17. Quote Ответить с цитированием Share this post Link to post Share on other sites
VladislavS 0 Posted April 14, 2020 · Report post 17 минут назад, haker_fox сказал: В общем, мои мысли на счёт того, что он может быть ещё сыроват - подтверждаются. Чем подтверждаются? У меня там реально виртуальные методы есть. Более ранний компилятор с ними как-то по другому разбирался, а сейчас всё честно сделал. А может просто показал в отчёте более правильно. 19 минут назад, haker_fox сказал: Видимо, компилятору нужно дать настояться в течение хотя бы полугода. Это как? Он что, от лежания в архиве какие-то волшебные свойства приобретёт? 21 минуту назад, haker_fox сказал: И при условии, что нет найденных проблем Вопрос философский. Сидеть на (найденных + !найденных) проблемах, либо только на ненайденных. При том что версия 8.50 это как раз и есть "отстоявшаяся" 8.40 - ничего нового в ней по С++17 нет. Quote Ответить с цитированием Share this post Link to post Share on other sites
haker_fox 0 Posted April 14, 2020 · Report post 3 minutes ago, VladislavS said: У меня там реально виртуальные методы есть А какой вам от этого прок?) Ну кроме честности? 3 minutes ago, VladislavS said: Он что, от лежания в архиве какие-то волшебные свойства приобретёт? Нет, выуживаются ошибки. Компилятор правится или неправится. И можно делать вывод о годности к употреблению. У меня сейчас проект к релизу приближается, не то время, чтобы тестировать. Поэтому я хочу поспрашивать об этом коллег. 5 minutes ago, VladislavS said: ничего нового в ней по С++17 нет Да, в официально релизе также сообщается, что там добавили новые правила для статического анализатора. Quote Ответить с цитированием Share this post Link to post Share on other sites
VladislavS 0 Posted April 14, 2020 · Report post 2 минуты назад, haker_fox сказал: А какой вам от этого прок?) Ну кроме честности? Вопрос не понят. Вы спросили - я ответил что заметил. Лично мне от этого ни жарко, ни холодно - работает всё как надо. 4 минуты назад, haker_fox сказал: И можно делать вывод о годности к употреблению. У меня сейчас проект к релизу приближается, не то время, чтобы тестировать. Всё равно же код тестировать, какая разница чем он собран. Я вот в последнее время наоборот разными компиляторами собираю проект (IAR, GCC, ARM v6) - много интересного про свой код узнаёшь :) Quote Ответить с цитированием Share this post Link to post Share on other sites
haker_fox 0 Posted April 14, 2020 · Report post 4 minutes ago, VladislavS said: Вопрос не понят. Простите, это я маленько не понял вас. Вопрос понят, принят и закрыт) 4 minutes ago, VladislavS said: много интересного про свой код узнаёшь Здорово, что у вас есть такая возможность! Мне можно этим заниматься только в личное время. Но я это буду делать на новом проекте для себя. А вот на основной работе мне официально не разрешат тестировать новый компилятор. 15 minutes ago, VladislavS said: много интересного про свой код узнаёшь :) Листинги анализируете? Quote Ответить с цитированием Share this post Link to post Share on other sites
jcxz 0 Posted April 14, 2020 · Report post 1 час назад, VladislavS сказал: Это важно для тех кто С++ пользует. Начиная с 8.40 С++17 хорошо поддерживается. Я использую. И мне не важно 1 час назад, haker_fox сказал: Возможно, новый компилятор изготавливает более оптимальный код. например. Возможно. Но это важно если у вас памяти или быстродействия впритык. Цитата К сожалению всё банально - нет времени (желания). Но я ж не на халяву, просто решил, если у кого есть данные, можно аккумулировать их тут. Можете поработать бета-тестировщиком. Это полезно.... для развития продукта За найденные баги, IAR-о-писатели скажут Вам спасибо. Мне вот говорили уже Цитата В общем, мои мысли на счёт того, что он может быть ещё сыроват - подтверждаются. Видимо, компилятору нужно дать настояться в течение хотя бы полугода. Компилятор - это не брага - настаивание ему бесполезно. Баги как могут быть исправлены, так и добавлены новые. История IAR это подтверждает. Quote Ответить с цитированием Share this post Link to post Share on other sites
VladislavS 0 Posted April 14, 2020 · Report post 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() { //.... } Quote Ответить с цитированием Share this post Link to post Share on other sites
haker_fox 0 Posted April 14, 2020 · Report post 1 hour ago, VladislavS said: А ведь на подходе С++20 и GCC уже умеет так Я вот всё задаюсь вопросом, этож сколько времени нужно потратить на чтение книг, тчобы все эти новые фичи изучить? Quote Ответить с цитированием Share this post Link to post Share on other sites
VladislavS 0 Posted April 14, 2020 · Report post Всё не так плохо. Язык развивается не так быстро. Вместе с ним и мы развиваемся. Новый стандарт выходит раз в 3 года. От одного стандарта к другому шаги не такие уж гигантские. Можно и освоить. К тому же, в язык попадают реально нужные вещи, которые долго обсуждаются перед попаданием в стандарт и получив которые мы говорим "ну наконец то теперь можно вот так". Если почитывать конференции, посматривать видео докладов, то к моменту выхода стандарта уже знаешь что в нём будет, а что пока нет. И складывается стойкое "хочу" и "мне это надо". Вот тут очень много отличных докладов С++User Group Ну а книг толковых по С++20 я наверное уже на пенсии дождусь :) Quote Ответить с цитированием Share this post Link to post Share on other sites
jcxz 0 Posted April 14, 2020 · Report post 1 час назад, haker_fox сказал: Я вот всё задаюсь вопросом, этож сколько времени нужно потратить на чтение книг, тчобы все эти новые фичи изучить? Вопрос из разряда: "Вам шашечки или ехать?" Я предпочитаю тратить время на решение практических задач, а не изучение новых фенечек языка. Может что-то и есть полезное, но польза сего вельми мала. имхо. Quote Ответить с цитированием Share this post Link to post Share on other sites
haker_fox 0 Posted April 14, 2020 · Report post 16 minutes ago, jcxz said: Я предпочитаю тратить время на решение практических задач Тут ведь всё просто: теория оборачивается практикой. И наоборот. Да и как сделать вывод: полезная фенечка или нет? Ведь пока не попробуешь, не поймёшь. А чтобы попробовать - надо изучить. Впрочем, моя специфика работы такова, что чистым программированием заниматься не приходится. Иногда и схемотехникой озадачивают, и трассировкой плат (редко). Получается так, что расширяюсь в основном))) А не расту в одном лишь направлении. Quote Ответить с цитированием Share this post Link to post Share on other sites
VladislavS 0 Posted April 14, 2020 · Report post 35 минут назад, haker_fox сказал: теория оборачивается практикой. И наоборот. Совершенно верно. Всё накапливается за много лет работы. Сначала классик для инкапсуляции вставишь, поперегружаешь фукции, потом шаблончик для унификации прикрутишь. Добавишь к этому constexpr, auto и вариативные шаблоны и вот ты уже в метапрограммирование попал. А дальше "держите меня двое". :) Quote Ответить с цитированием Share this post Link to post Share on other sites