Что такое CLI / C ++? Чем он отличается от «нормального» с ++? - PullRequest
10 голосов
/ 19 июня 2011

Позвольте мне сначала уточнить, что я имею в виду под «нормальным» C ++ - я сейчас читаю «Решение проблем в C ++» Уолтера Савича.Насколько я знаю, это не написано специально для Microsoft или Unix.Итак, мой вопрос: как то, что я изучаю в этой книге (которую я использую для универсального получения знаний о c ++), отличается от того, что я продолжаю читать о CLI C ++?

Является ли CLI C ++ именно тем, что я изучаю?столкнулся бы, если бы я использовал Visual C ++?Я в полном замешательстве.

Ответы [ 3 ]

13 голосов
/ 19 июня 2011

C ++ / CLI (также иногда C ++ / CLR) относится к языку, который расположен где-то между собственным C ++ и .NET framework.

Обычно он используется для приложений, где вам нужно соединить некоторый нативный код (чистый C ++) и управляемый код (например, VB, C #, F # и т. Д.).

C ++ / CLI сильно отличается от обычного C ++. И когда люди говорят, Visual C ++, значение может варьироваться в зависимости от контекста. Иногда они имеют в виду C ++ с включенным уровнем общеязыковой среды выполнения (CLR), в других случаях они означают просто C ++. К сожалению, есть много различной терминологии и много неправильных символов, но что вы можете сделать?

7 голосов
/ 19 июня 2011

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

1 голос
/ 11 октября 2011

c ++ / cli - это текущая версия инструментов Microsoft Visual C ++.(Перед с ++ / cli был другой дизайн)

c ++ / cli - это две версии c ++ в одной.Существует высоко стандартизированный компилятор c ++, а также версия c ++, которая работает на виртуальной машине CLI.Очевидно, что стандартный c ++ никогда не запускается на ВМ, поэтому он определяет подход «два в одном» к языку.

При его использовании вы можете смешивать неуправляемый и управляемый код вместе.«Неуправляемый» - это код, скомпилированный так же, как стандартный c ++.«Управляемый» - это компилятор кода для CLI (.Net) виртуального байт-кода машины.Microsoft имеет обширные API как для управляемого, так и для неуправляемого кода.С продуктом вы можете получить доступ к обоим API.

Вы можете разрабатывать стандартные приложения на языке c ++ с помощью языка и инструмента, вам просто нужно быть осторожным, чтобы не использовать нестандартные расширения.Я предлагаю компиляцию в другом компиляторе время от времени, если у вас есть сомнения.Управляемая сторона совершенно нестандартна, и даже у неуправляемой стороны есть тонны нестандартных расширений.

PS Я не эксперт, но мне было любопытно, и я читал об этом на прошлой неделе.Я думал, что ваш вопрос заслуживает ответа.Удачи!

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