студийное 18.09.16 18:43 // оригинал
После установки последнего апдейта к третьему апдейту 2015-й студии поддержку C++ и MFC в ней приходится восстанавливать ручками, без этого соответствующие проекты становятся просто неактивными (столкнулся на основной машине, потом проверил на рабочей). Это они здорово придумали.
Они забыли включить в дистрибутив обновления автоматическое развертывание последнего vcredist.exe? Или у них lib'ы для MFC сгенерированы не для тех версий dll, что прописаны в манифестах обновления, так что WinSxS шлёт лесом при запросе нужных версий dll?
нет, там что-то поглубже vcredist было20.09.16 23:04 Автор: dl <Dmitry Leonov>
Там не простая ошибка загрузки библиотеки на старте приложения была, а в Solution Explorer'е неактивные проекты и предложение установить недостающие компоненты.
А зачем?19.09.16 06:30 Автор: Zef <Alloo Zef> Статус: Elderman
Я пробовал устанавливать новые версии и ничего, кроме гимороя с непривычным интерфейсом не поимел. Понятно, я программирую в есьма специфической сфере - неболльшие утилиты для связи с контроллерами, для которых нет OPC-сервера или из-за громоздкости или ограниченной функциональности не подходит SCADA. Одно время пытался написать свой графический редактор, но не хватило желания тратить время в общем-то впустую. И вот я почесал репу пришел к выводу,что ни - для обычной моей работы, ни для того редактора мне ничего. кроме C++ и MFC гн гадо. Одно время я поднанялся писать прогу для КБ измерительных приборов, по условию - на Борланд С и с толкнуллся с тем, что все его "плюшки" типа умных диаграм медленные до абсолютной неприменимости. Борланд строил график 15 минут, моя писулька на "голом" С - 1.5 секунды.
Я так понимаю, что реальные "плюшки" состоят только в интегрировании с веб-интерфейсом и портабельностью на ггаджеты. Но все это нужно икллючительно для торгово-сервисных приложений.
Т.е. в моем преедставлении смены версий среды разработчика не "плюшки", а гиморой на уровне переучивания летчика на другой самолет и, если конечный продукт не становится от этого "реактивным", то и не надо.
Как минимум списки инициализации, лямбды, auto, range-based for // for(auto& o: objects){o->f();} вместо for(vector<myobject*>::iterator i = objects.begin(); i!=objects.end(); ++i){(*i)->f();}
Ну и всякие умные указатели, кортежи и bind, введенные в стандартную библиотеку (раньше их можно было, конечно, брать из boost, но я не уверен, что boost под шестеркой вообще взлетает).
Достаточно интересно, но в небольших проектах не принципиально24.09.16 05:15 Автор: Zef <Alloo Zef> Статус: Elderman
Если сочинять что-то класса редактора с огромным количеством окон с документами и связанных с ними объектов, то - да.
А как там с многопоточкой? Под VC6 с объектами синхронизации жуткая путаница. Но я плохо себе представлляю, как эти "Авгиевы конюшни" вообще разгрести.
при чем тут редактор?24.09.16 14:35 Автор: dl <Dmitry Leonov> Отредактировано 24.09.16 14:40 Количество правок: 2
> Если сочинять что-то класса редактора с огромным > количеством окон с документами и связанных с ними объектов, > то - да.
Все это нужно для удобной обработки контейнеров, использования стандартных алгоритмов и т.п. Обычная работа с большими и не очень наборами данных.
Кроме того, код становится чище и компактней, мест для ошибок меньше.
> А как там с многопоточкой? Под VC6 с объектами > синхронизации жуткая путаница. Но я плохо себе > представлляю, как эти "Авгиевы конюшни" вообще разгрести.
На любой вкус. Можно по-прежнему пользоваться APIшными потоками и APIшными же объектами синхронизации, можно тонкой оберткой вокруг них в MFC (и какая там путаница, три с половиной основных объекта синхронизации, области использования явно выделены). Можно использовать стандартный std::thread, можно взять PPL (parallel patterns library).
И, видимо, лучшая поддержка HighDPI?22.09.16 14:29 Автор: Den <Денис Т.> Статус: The Elderman
Так M$ вуалирует тот факт, что ей насрать на собственное наследие — начиная от Windows API, и это выливается в выпиливание собственного кода, на этом построенного.19.09.16 06:46 Автор: HandleX <Александр М.> Статус: The Elderman Отредактировано 19.09.16 06:52 Количество правок: 2
Сравнивал сименсовскую ПЦС-ку с сименсовским же Скаутом. 1ая - на С++, 2е - Нет. 2е работает на столько медленно, что не успевает передавать данные в контроллер на скорости 19200.Т.е. запускается минут 10, вроде работаеет, контроллер видит, загрузку программы начинает, но виснет и через минут 15 выдает сообщение о невозможности записать переменные. На вдвое более быстром ноуте с гигом памяти все работат, но запускается прога так, что хочется слломать табуретку.