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