Причины использования C ++ / CLI вместо c #? - PullRequest
1 голос
/ 04 октября 2011

Я написал управляемое приложение на C ++ несколько лет назад.Это был просто личный проект, и я выбрал управляемый c ++ только потому, что нашел его интересным.Я помню, я чувствовал, что это заняло намного больше времени, чем работа с C #, и в моем случае, по крайней мере, ничего от этого не получилось.

Когда C ++ / CLI - хороший выбор в реальности?В чем его преимущества?

Ответы [ 2 ]

3 голосов
/ 04 октября 2011

Для меня гораздо проще написать управляемый код на C #, но иногда производительность, которую предлагает C ++, делает его лучшим выбором.Я пишу критичный к производительности код на C ++, а остальное на C #.Единственная причина C ++ / CLI заключается в том, что нативный код и управляемый код могут использоваться вместе.

Рациональный дизайн Херба Саттера:

Цель C ++ / CLI - предоставить прямой доступдля программистов C ++ использовать существующие библиотеки CLI и создавать новые, с минимальными или нулевыми перегрузками производительности, с минимальным количеством дополнительных обозначений и с полной совместимостью с ISO C ++.

http://www.gotw.ca/publications/C++CLIRationale.pdf

3 голосов
/ 04 октября 2011

Единственная причина использования C ++ / CLI состоит в том, что вы можете использовать собственную библиотеку в управляемом приложении. Даже Microsoft говорит, что его не следует использовать самостоятельно:

Вторым важным соображением для использования C ++ / CLI является помнить, что это только предназначено, чтобы быть мостом между управляемым и нативным миры и не предназначены для технологии, которую вы используете, чтобы написать большую часть вашего приложения. Это, конечно, возможно, но вы обнаружили, что производительность разработчика намного ниже, чем в чистом C ++ или чистая среда C # / Visual Basic и что ваше приложение много работает медленнее загружаться. Поэтому, когда вы используете C ++ / CLI, компилируйте только те файлы, которые вы нужно с ключом / clr и использовать комбинацию чисто управляемых или чистые нативные сборки для создания основной функциональности вашего применение.

http://msdn.microsoft.com/en-us/magazine/dd315414.aspx#id0070020

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...