Comments 16
Согласно статьи, C++/CLI просто так не познать, сначала нужно познать C#, правда тем, кто владеет C#, вряд ли захочется возиться с C++/CLI :)
В принципе, чтобы изучить совсем просто — лучше да, знать один из языков .Net-стека. А насчет того, чтобы возиться — если нужна производительность или доступ к плюсовому коду, то уж придется разбираться.
Вообще язык очень специфический, но свои задачи решает очень красиво. Я вообще плюсами серьезно начал из-за него заниматься:)
Вообще язык очень специфический, но свои задачи решает очень красиво. Я вообще плюсами серьезно начал из-за него заниматься:)
Неплохо, но статья полезна для симпл ознакомления, до шага «разобрался» еще нужно дойти.
Плюсанул за проделанный труд, но с идеологическими выкладками бы поспорил. Думаю, статье они могут только навредить (Хотя, могу ошибаться).
Честно, всегда думал, что CLI == Command Line Interface
Может в качестве статьи с номером 0 стоило бы в картинках описать, как создать хелло ворлд на C++/CLI?
>> .Net С++ уникален тем, что на нем можно писать код, который напрямую использует выделение и освобождение памяти, работу с указателями.
C# тоже позволяет это делать, если разрешить режим unsafe.
И судя по моему опыту модули, написанные на C++/CLI порой медленнее, чем те же самые модули, написанные на чистом C#. Возможно, конечно, преимущества С++ будут видны на кастомных аллокаторах, но что то я не уверен. Так что единственное, где правда нужен CLI — это использование старого С++ кода в новых проектах.
C# тоже позволяет это делать, если разрешить режим unsafe.
И судя по моему опыту модули, написанные на C++/CLI порой медленнее, чем те же самые модули, написанные на чистом C#. Возможно, конечно, преимущества С++ будут видны на кастомных аллокаторах, но что то я не уверен. Так что единственное, где правда нужен CLI — это использование старого С++ кода в новых проектах.
C# тоже позволяет это делать, если разрешить режим unsafe.
Но при этом все выделение и освобождение памяти все равно отдано на откуп GC. А если будет много объектов, к которым будет доступ по указателям — то это сделает невозможной дефрагментацию кучи.
И судя по моему опыту модули, написанные на C++/CLI порой медленнее, чем те же самые модули, написанные на чистом C#
Знаете, на ассемблере можно написать так, что будет работать медленнее, чем на пхп… Тут вопрос в уровне познаний того, кто писал. В общем случае C++ CLI предоставляет больший простор для написания оптимального кода, важно им правильно распорядиться.
Спасибо, хороший гайд. Жаль у меня его не было, когда я подключал два года назад плюсовую библиотеку к проекту на шарпе :)
Sign up to leave a comment.
Кратко и быстро разбираемся с C++ CLI