Каково различие между Visual C++ и C++?

Хорошо вот довольно глупый вопрос. Visual C++ является ПРОСТО IDE?? Или действительно ли это - язык самостоятельно для win32? Каково точно было бы различие между двумя? Это, которое я спрашиваю, потому что я испытывал часть своего старого кода C++ VC ++, 2008 и он не скомпилирует.

11
задан andand 13 May 2011 в 20:36
поделиться

7 ответов

Visual C ++ может быть разнообразным, включая:

  1. компилятор Microsoft C ++ (cl.exe, link.exe и т. Д.)
  2. IDE (Visual Studio в режиме C ++)
  3. Среда выполнения C (MSVCRT)
  4. Другие библиотеки (в меньшей степени): MFC, ATL

Что касается компиляции старого кода C ++: Visual Studio теперь является довольно совместимым компилятором C ++. Так было не всегда, например, с Visual C ++ 6 или более ранней версией. Вероятно, ваш код не соответствует стандартам или использует устаревшее поведение, которое просто не работает в новых компиляторах.

Visual C ++, к сожалению, плохой компилятор C, поскольку он не поддерживает C99 (и никогда не будет), если только функции C ++ и C99 не совпадают. Наиболее заметной проблемой для многих является отсутствие stdint.h.

14
ответ дан 3 December 2019 в 05:11
поделиться

Visual C ++ - это IDE. Он компилирует стандартный код C ++. Однако каждый компилятор C ++ по существу создает свою собственную версию C ++. Некоторые компиляторы полностью соответствуют текущему стандарту, и они могут добавлять или не добавлять функции из будущего стандарта. Кроме того, они иногда добавляют к языку собственные расширения. Таким образом, при компиляции кода C ++ с разными компиляторами всегда существует риск порчи. Однако последние версии Visual C ++ довольно близки к совместимости со стандартами, и большинство вещей, которые компилируются с ним, будут компилироваться с другими популярными компиляторами, такими как gcc / g ++ (и наоборот).

3
ответ дан 3 December 2019 в 05:11
поделиться

Visual C ++ - это название среды разработки Microsoft и компилятора для языка программирования C ++. Однако обратите внимание, что, как и многие реализации C ++, Visual C ++ имеет определенные расширения, которые не предоставляются C ++, а также определенные области, в которых он не полностью соответствует стандарту языка ISO C ++.

1
ответ дан 3 December 2019 в 05:11
поделиться

VS C ++ - это, по сути, особый тип C ++.

Новые версии VS включают новые функции, как расширения (такие как CLI), так и новые стандарты, такие как C ++ 0x (вывод типов и т. Д.).

Некоторые из этих функций могут случайно привести к прекращению работы вашего кода, или вы могли полагаться на определенные ошибки Visual Studio, которые к тому времени были исправлены.

1
ответ дан 3 December 2019 в 05:11
поделиться

Visual C ++ содержит компилятор C ++, который является реализацией стандарта языка C ++. Visual C ++ 6 - несовместимая реализация. Visual C ++ 2008 намного лучше. От VC ++ 6 к VC ++ 2008 произошли некоторые изменения, поэтому ваш старый код не мог скомпилироваться. Есть несколько флагов, позволяющих компилировать код VC ++ 6 в VC ++ 2008.

Вот хороший вопрос по SO, который может быть полезен.

1
ответ дан 3 December 2019 в 05:11
поделиться

Я полагаю, что Visual C++ включает библиотечные расширения Microsoft.

0
ответ дан 3 December 2019 в 05:11
поделиться

VS2008 включает как стандартный C ++, так и управляемый C ++ от Microsoft. Стандартный C ++ в основном совместим с C ++ 03 (по крайней мере, так было задумано). Управляемый (т.е. нестандартный) C ++ предназначен для разработки приложений .NET и не соответствует (и не должен был быть) совместим с каким-либо стандартом C ++.

Возможно, вы захотите убедиться, что вы случайно не выбрали Managed C ++ при переносе приложения.

2
ответ дан 3 December 2019 в 05:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: