Коллеги, поясните, а какую нишу занимает CLR/.net-версия С++?
Ну вот противопоставление языков C# и C++ мне более-менее очевидно — C++ сложен как китайская грамота, но даёт хорошую производительность. В то время как C# намного проще с точки зрения программиста, имеет поддержку всяких вёб-платформ типа asp.net, но проигрывает плюсам в плане производительности.
Но зачем нужен C++/.net? Если использовать платформу .net, то писать на C# и проще и дешевле.
Здравствуйте, Artem Korneev, Вы писали:
проигрывает плюсам в плане производительности.
AK>Но зачем нужен C++/.net? Если использовать платформу .net, то писать на C# и проще и дешевле.
В том числе для использования классов .Net из натива. https://rsdn.ru/forum/dotnet/6443567
Здравствуйте, Artem Korneev, Вы писали:
AK>Коллеги, поясните, а какую нишу занимает CLR/.net-версия С++?
Это такой "хитрый ход", когда есть тонна кода, непонятно зачем писанная на С++ и абс. некритичная к скорости, которую можно безболезненно(ли?) перенести в дотнеты 1:1. Но для новых проектов — да, полная бессмыслица.
Здравствуйте, Artem Korneev, Вы писали:
AK>Коллеги, поясните, а какую нишу занимает CLR/.net-версия С++?
Просто еще один .Net язык. Скажем, если бы я был С++ программистом (а я был 20 лет назад) и захотелось мне вдруг "няшный уй" на винформс, то запросто, не надо учить никакую яву C#. Возможно для веба еще (WPF не очень хорошо) и для чего-то экзотического (uwp?) сойдет.
Здравствуйте, Artem Korneev, Вы писали:
AK>Но зачем нужен C++/.net? Если использовать платформу .net, то писать на C# и проще и дешевле.
Когда нужно много работать с WinApi, то проще часть кода написать на C++, чем мучится с PInvoke
Здравствуйте, __SPIRIT__, Вы писали:
AK>>Но зачем нужен C++/.net? Если использовать платформу .net, то писать на C# и проще и дешевле. __S>Для того чтобы иметь возможность использовать плюсовый код в проекте на .NET
А обычный плюсовый код собирается и запускается на C++/CLR без модификации?
Здравствуйте, tdiff, Вы писали:
T>Как промежуточный слой. Например, пишут гуй на шарпе, а все внутренности на плюсах. Или сервер на дотнете, а В нем один из модулей на плюсах.
А для чего? Даёт ли C++/CLR выигрыш в производительности по сравнению с C#?
Здравствуйте, Artem Korneev, Вы писали:
T>>Как промежуточный слой. Например, пишут гуй на шарпе, а все внутренности на плюсах. Или сервер на дотнете, а В нем один из модулей на плюсах.
AK>А для чего? Даёт ли C++/CLR выигрыш в производительности по сравнению с C#?
Ну вот для примера, есть у вас кросс-платформенная библиотека, написанная на плюсах. Надо приделать к ней gui под Windows. C++/CLI — промежуточный слой. Написать этот же слой на C# скорее всего будет сложнее, если вообще возможно. В каких-то простых случаях никто C++/CLI и не использует, а делают PInvoke.
Здравствуйте, Artem Korneev, Вы писали:
AK>>>Но зачем нужен C++/.net? Если использовать платформу .net, то писать на C# и проще и дешевле. __S>>Для того чтобы иметь возможность использовать плюсовый код в проекте на .NET
AK>А обычный плюсовый код собирается и запускается на C++/CLR без модификации?
ты можешь собрать плюсовый код как обычно и дописать обертку на управляемых плюсах
можешь внутрь обычного вставить управляемый. Они не пересекаются по синтаксису.
Здравствуйте, Sinatr, Вы писали:
S>Просто еще один .Net язык. Скажем, если бы я был С++ программистом (а я был 20 лет назад) и захотелось мне вдруг "няшный уй" на винформс, то запросто, не надо учить никакую яву C#.
Здравствуйте, Artem Korneev, Вы писали:
AK>Коллеги, поясните, а какую нишу занимает CLR/.net-версия С++?
AK>Ну вот противопоставление языков C# и C++ мне более-менее очевидно — C++ сложен как китайская грамота, но даёт хорошую производительность. В то время как C# намного проще с точки зрения программиста, имеет поддержку всяких вёб-платформ типа asp.net, но проигрывает плюсам в плане производительности.
AK>Но зачем нужен C++/.net? Если использовать платформу .net, то писать на C# и проще и дешевле.
Могу добавить почему не стоит связываться с этим.
Дело в том, что у C++/CLI нет возможности выбора платформы как в C#.
Т.е. скажем с компилятором от VS2015 невозможно компилировать для .NET 4.0, только 4.6.
Здравствуйте, gnome, Вы писали:
__S>>ты можешь собрать плюсовый код как обычно и дописать обертку на управляемых плюсах
G>Обертку для либы можно и без управляемых плюсов написать
можно. также можно вообще не использовать плюсы. можно вообще не использовать дотнет.
Здравствуйте, _NN_, Вы писали:
_NN>Могу добавить почему не стоит связываться с этим. _NN>Дело в том, что у C++/CLI нет возможности выбора платформы как в C#. _NN>Т.е. скажем с компилятором от VS2015 невозможно компилировать для .NET 4.0, только 4.6.
Если нельзя выбрать в MSVS, то это ещё не значит что нельзя вообще. Просто исправь на нужную версию, открыв файл проекта в текстовом редакторе.
F>Если нельзя выбрать в MSVS, то это ещё не значит что нельзя вообще. Просто исправь на нужную версию, открыв файл проекта в текстовом редакторе.
Точно работает ?
Как собрать с помощью студии 2015 , чтобы работало с .NET 3.5 ?
Здравствуйте, _NN_, Вы писали:
_NN>Здравствуйте, fdn721, Вы писали:
F>>Если нельзя выбрать в MSVS, то это ещё не значит что нельзя вообще. Просто исправь на нужную версию, открыв файл проекта в текстовом редакторе. _NN>Точно работает ? _NN>Как собрать с помощью студии 2015 , чтобы работало с .NET 3.5 ?
Ну по крайней мере менять 4.0 <-> 4.5.1 <-> 4.5.2 <-> 4.6 я пробовал, всё работает. Люди, которые просили собрать сборку под конкретную версию Framework не жаловались больше.
Здравствуйте, fdn721, Вы писали:
F>Ну по крайней мере менять 4.0 <-> 4.5.1 <-> 4.5.2 <-> 4.6 я пробовал, всё работает. Люди, которые просили собрать сборку под конкретную версию Framework не жаловались больше.
С 3.5 такой фокус не проходит.
Или я просто не знаю как правильно сделать.