Comments 19
Ну что же, компилятор действительно допилили до современно уровня. Во всяком случае по соответствию стандарту ( производительность кода надо ещё смотреть). Даже удивительно.
Однако не думаю, что даже такой факт будет способен изменить отношение разработчиков, отвернувшихся от MS после десятилетия наплевательского отношения к нативной разработке.
Да, и кстати… Вы бы лучше как-то поправили такие msdn.microsoft.com/ru-ru/library/dn872463%28v=vs.140%29.aspx заголовки, а то после прочтения уж слишком смешно становится. Назвать «созданием кроссплатформенных приложений» возможность написания отдельных приложений под каждую указанную платформу — это перебор даже для MS. )))
Однако не думаю, что даже такой факт будет способен изменить отношение разработчиков, отвернувшихся от MS после десятилетия наплевательского отношения к нативной разработке.
Да, и кстати… Вы бы лучше как-то поправили такие msdn.microsoft.com/ru-ru/library/dn872463%28v=vs.140%29.aspx заголовки, а то после прочтения уж слишком смешно становится. Назвать «созданием кроссплатформенных приложений» возможность написания отдельных приложений под каждую указанную платформу — это перебор даже для MS. )))
Я из статьи по ссылке не понял — общий код-то для этих приложений можно использовать?
Создавать библиотеки и подключать их в разных приложениях C++ умеет от рождения. Так что непонятно:
1. Что тут нового
2. Причём тут «кроссплатформенные приложения».
1. Что тут нового
2. Причём тут «кроссплатформенные приложения».
Нового наверное то, что студия теперь может в эмулятор андройда и эмулятор ios (то что мак требуется думаю можно пренебречь) и соответственно дебаг как на эмуляторе так и на девайсах.
А кросплатформенность заключается в том, что один код на все платформы, и под все платформы можно собирать код из под одной ide. Возможно вы ожидали что-то вроде marmalade но данное решение имхо гибче.
А кросплатформенность заключается в том, что один код на все платформы, и под все платформы можно собирать код из под одной ide. Возможно вы ожидали что-то вроде marmalade но данное решение имхо гибче.
1. Вообще то у них там целевая ОС задаётся при создание проекта, а не как один из вариантов конфигурации сборки. Так что получается как раз разные проекты под разные ОС. Ну во всяком случае судя по скринам — сам я не пробовал. Но даже если они в итоге и сумеют осилить нормальное решение (один проект с разными конфигурациями сборки под разные ОС), то это будет лишь микроскопический шажок (причём уже давно реализованный в таких инструментах как cmake/qmake/scons/waf и т.п.) к кроссплатформенности. Потому как главная сложность в написание кроссплатформенных приложений на C++ вовсе не в сборке.
2. И не будет там один код под все платформы. Если конечно не подключить библиотеку типа Qt или wxWidgets (у этих правда нет пока Андроида) или аналог от MS. Но такой же библиотеки (с сопутствующими инструментами) нет в поставке VS, не так ли? )
А ожидал я от заголовка «создание кроссплатформенных приложений» совсем не marmalade (это всё же игровое решение), а скорее что-то вроде Qt. Хотя принципы у них конечно похожие.
2. И не будет там один код под все платформы. Если конечно не подключить библиотеку типа Qt или wxWidgets (у этих правда нет пока Андроида) или аналог от MS. Но такой же библиотеки (с сопутствующими инструментами) нет в поставке VS, не так ли? )
А ожидал я от заголовка «создание кроссплатформенных приложений» совсем не marmalade (это всё же игровое решение), а скорее что-то вроде Qt. Хотя принципы у них конечно похожие.
1) Да проект создаётся под каждую ось, но вот библиотека шарящаяся на разные проекты, одна.
2) В шарящаяся библиотеке и находится единый код, под разные платформы.
2) В шарящаяся библиотеке и находится единый код, под разные платформы.
Ну, т.е. приложение не кроссплатформенное. В отличие от того, которое можно получить и собрать в пару кликов в том же Qt Creator.
Это какое-то цепляние к словам, я например рассматриваю это с точки стороны геймдева, Я создаю два проекта под андройд и иос, и ещё один для шарящейся либы. Я не меняю стандартные обвязки в иос и андройд проектах, я их даже не открываю, я пишу только библиотеку которая шарится, только один код, чем это не мультиплатформенная разработка? В том же QT надо указывать под какую платформу собираешь.
Если в этих двух проектах не будет находиться ни строчки кода (только файлы проектов или что-то подобное), то это безусловно будет кроссплатформенное приложение (хотя и с сомнительной системой сборки). Только как такого добиться без использования жирных кроссплатформенных фреймворков? )
Ну и кстати говоря собирать приложение под Андроид (или любую другую ОС) в любой IDE (включая VisualStudio) я умел задолго до данного релиза VS. Однако это лишь маленькая часть того, что необходимо для написания кроссплатформенного приложения.
Ну и кстати говоря собирать приложение под Андроид (или любую другую ОС) в любой IDE (включая VisualStudio) я умел задолго до данного релиза VS. Однако это лишь маленькая часть того, что необходимо для написания кроссплатформенного приложения.
В этих проектах будет стандартный сгенерированный код, который при желании можно изменить или дополнить, когда например нужно реализовать специфичную для платформы фичу, которая не промаплена в библиотеку.
Собирать это ок (хотя я не припомню инструментов для сборки под iOS), а что насчёт дебага? Разве можно было из студии дебажить приложение на девайсе?
Собирать это ок (хотя я не припомню инструментов для сборки под iOS), а что насчёт дебага? Разве можно было из студии дебажить приложение на девайсе?
Кем сгенерированный? ) Я не увидел в VisualStudio инструментов для этого. И опять же что за библиотека? Входит в поставку VS? )
По поводу отладки для VS давно уже был плагин (кстати, помнится это даже отечественный продукт) для полноценной работы с gdb. Ну а дальше понятно, что дело техники. Правда лично я таким не пользуюсь. В том смысле, что самой VS уже лет 7 наверное не пользуюсь.
По поводу отладки для VS давно уже был плагин (кстати, помнится это даже отечественный продукт) для полноценной работы с gdb. Ну а дальше понятно, что дело техники. Правда лично я таким не пользуюсь. В том смысле, что самой VS уже лет 7 наверное не пользуюсь.
Генерирует VisualStudio, да входит в поставку.
подробнее тут, на 34 минуте начинается про С++.
С плагинами студия всё может)) а вот из коробки она раньше не могла, или вы думаете раз это функция доступна с помощью плагина, то её ненужно разрабатывать? И я надеюсь вы мне назовёте плагин для дебага на ios.
подробнее тут, на 34 минуте начинается про С++.
С плагинами студия всё может)) а вот из коробки она раньше не могла, или вы думаете раз это функция доступна с помощью плагина, то её ненужно разрабатывать? И я надеюсь вы мне назовёте плагин для дебага на ios.
На видео показана просто генерация «hello world» на базе Native Activity — вполне классическая вещь при создание проекта. Но какое это имеет отношение к реальной работе и реальным проектам? И я так и не понял, как называется то эта самая кроссплатформенная библиотека от MS? Надеюсь речь не про OpenGL? )))
UFO just landed and posted this here
К слову, разработчики Visual C++ прямым текстом обещали что обновления компилятора будут out of band. И где?
Поддержка препроцессора C99 осталась без изменений. Частичный статус остался в силе так как несмотря на то что компилятор поддерживает variadic макросы, поведение препроцессора не соответствует стандарту C99/C++11 во многих вещах.
Но почему?
Приходится для компиляции с нативным ABI использовать clang-cl. Когда в нём допилят нативные исключения, его можно будет использовать и для C++ кода, благо поддержка стандартов там лучше.
Sign up to leave a comment.
Возможности С++ 11/14/17 в Visual Studio 2015 RTM