Pull to refresh

Comments 16

Согласно статьи, C++/CLI просто так не познать, сначала нужно познать C#, правда тем, кто владеет C#, вряд ли захочется возиться с C++/CLI :)
В принципе, чтобы изучить совсем просто — лучше да, знать один из языков .Net-стека. А насчет того, чтобы возиться — если нужна производительность или доступ к плюсовому коду, то уж придется разбираться.
Вообще язык очень специфический, но свои задачи решает очень красиво. Я вообще плюсами серьезно начал из-за него заниматься:)
Чем вас не устроил C# + инъекции нативного кода?
Они меня вполне устраивают сами по себе. Просто их порой недостаточно для написания «бутылочных горлышек»
Неплохо, но статья полезна для симпл ознакомления, до шага «разобрался» еще нужно дойти.
Если народу будет интересно и хватит кармы — то в следующей статье буду раскрывать тонкости, которые остались за кадром.
В целом, изучение С++ CLI сводится именно к пониманию синтаксиса и этих тонкостей, если знать как устроен классический С++ и дотнет, ибо больше там и нет ничего.
Плюсанул за проделанный труд, но с идеологическими выкладками бы поспорил. Думаю, статье они могут только навредить (Хотя, могу ошибаться).
Это не идеология, скорее попытка аргументированного разъяснения для чего эта штуковина полезна, для чего — нет. Может не совсем удачно получилось, все-таки первый опыт написания статьи.
Честно, всегда думал, что CLI == Command Line Interface
Может в качестве статьи с номером 0 стоило бы в картинках описать, как создать хелло ворлд на C++/CLI?
Хм, резоное замечание, только хеллоуворлд ничем не интересен. Возможно, имеет смысл привести реальный пример простенького приложения, которое показывает преимущества языка, благо такое есть под рукой.
Было бы просто замечательно :)
Да, так было бы даже лучше.
>> .Net С++ уникален тем, что на нем можно писать код, который напрямую использует выделение и освобождение памяти, работу с указателями.

C# тоже позволяет это делать, если разрешить режим unsafe.
И судя по моему опыту модули, написанные на C++/CLI порой медленнее, чем те же самые модули, написанные на чистом C#. Возможно, конечно, преимущества С++ будут видны на кастомных аллокаторах, но что то я не уверен. Так что единственное, где правда нужен CLI — это использование старого С++ кода в новых проектах.
C# тоже позволяет это делать, если разрешить режим unsafe.

Но при этом все выделение и освобождение памяти все равно отдано на откуп GC. А если будет много объектов, к которым будет доступ по указателям — то это сделает невозможной дефрагментацию кучи.

И судя по моему опыту модули, написанные на C++/CLI порой медленнее, чем те же самые модули, написанные на чистом C#

Знаете, на ассемблере можно написать так, что будет работать медленнее, чем на пхп… Тут вопрос в уровне познаний того, кто писал. В общем случае C++ CLI предоставляет больший простор для написания оптимального кода, важно им правильно распорядиться.
Спасибо, хороший гайд. Жаль у меня его не было, когда я подключал два года назад плюсовую библиотеку к проекту на шарпе :)
Sign up to leave a comment.

Articles