Является ли C ++ CLI надмножеством C ++? - PullRequest
13 голосов
/ 07 октября 2008

Может ли компилятор C ++ CLI скомпилировать несколько больших наборов классов C ++ без изменений?

Является ли C ++ CLI надмножеством C ++?

Ответы [ 6 ]

10 голосов
/ 07 октября 2008

Согласно Википедии :

C ++ / CLI следует рассматривать как собственный язык (например, с новым набором ключевых слов) вместо ориентированного на суперсет C ++ Managed C ++

4 голосов
/ 07 октября 2008

технически нет, но в зависимости от того, насколько стандартен код C ++, вы, вероятно, будете в порядке. когда вы попадаете в Windows, вы можете столкнуться с проблемами. Я скомпилировал весь игровой движок, который мы используем на работе в C ++ / CLI, и он работал просто отлично. Коллега сделал то же самое для всей Mozilla, и не повезло.

2 голосов
/ 24 октября 2010

C ++ / CLI не является надмножеством C ++. Это скорее подмножество с дополнениями. НАПРИМЕР. C ++ / CLI не поддерживает множественное наследование.

Angelo

2 голосов
/ 29 января 2009

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

Если вы не используете расширения CLI, ваш код C ++ в конечном итоге станет собственным неуправляемым кодом и должен быть по сути таким же, но скомпилированным с CLR IL, а не с собственным x86.

Как только вы начнете использовать расширения CLI (и начнете использовать объекты / дескриптор / управляемые классы), вы начнете интенсивнее взаимодействовать с базовой платформой CLR. В этот момент он, по сути, становится новым «языком», и вам придется разделить свое мышление между «неуправляемой» стороной и «управляемой» стороной.

1 голос
/ 04 апреля 2012

Мне удалось собрать всю библиотеку Qt (которая огромна) в виде C ++ / CLI с незначительными модификациями (в основном в среде сборки, но также исправлена ​​одна ошибка в исходном коде Qt)

1 голос
/ 19 мая 2009

На странице 3 книги Маркуса Хиге «Эксперт C ++ / CLI.NET для программистов Visual C ++» говорится:

C ++ / CLI - это набор расширений для язык C ++, чтобы извлечь выгоду из услуги, которые реализация CLI предлагает.

И далее вниз по той же странице:

C ++ / CLI является надмножеством языка C ++.

Его превосходная книга доступна бесплатно с здесь .

...