Ну вот довольно глупый вопрос. Является ли Visual С++ просто IDE? Или это сам язык для win32? Какая разница между этими двумя? Это я прошу, потому что я пытался использовать некоторые из моих старых С++ -кодов на VС++ 2008, и он не компилировался.
В чем разница между Visual С++ и С++?
Ответ 1
Visual С++ может быть много, в том числе:
- Компилятор Microsoft С++ (cl.exe, link.exe и т.д.)
- IDE (Visual Studio в режиме С++)
- Время выполнения C (MSVCRT)
- Другие библиотеки (не так): MFC, ATL
Как для компиляции старого кода на С++: Visual Studio теперь является довольно совместимым компилятором С++. Это не всегда так, например, с Visual С++ 6 или ранее. Вероятно, ваш код не соответствует стандартам или использует устаревшее поведение, которое просто не работает на более новых компиляторах.
Visual С++, к сожалению, является плохим компилятором C, поскольку он не поддерживает C99 (и никогда не будет), если только функции не перекрываются между С++ и C99. Самой известной проблемой для многих людей является отсутствие stdint.h.
Ответ 2
Visual С++ - это IDE. Он компилирует стандартный код на С++. Однако каждый компилятор С++ по существу создает свою собственную версию С++. Немногие компиляторы полностью совместимы с текущим стандартом, и они могут или не могут добавлять функции из будущего стандарта. Кроме того, они иногда добавляют свои собственные расширения к языку. Таким образом, при компиляции кода на С++ с разными компиляторами всегда существует риск переноса. Тем не менее, последние версии Visual С++ довольно близки к стандартам, совместимым, и большинство вещей, которые скомпилируются с ним, будут скомпилированы с другими популярными компиляторами, такими как gcc/g++ (и наоборот).
Ответ 3
VS2008 включает как стандартные С++, так и Microsoft Managed С++. Стандартный С++ в основном совместим с С++ 03 (по крайней мере, это было целью). Управляемый (то есть нестандартный) С++ предназначен для разработки приложений .NET и не является (и не должен был) соответствовать любому стандарту С++.
Возможно, вы захотите убедиться, что вы случайно не выбрали Managed С++ при портировании вашего приложения.
Ответ 4
Visual С++ - это имя Microsoft IDE и компилятор для языка программирования С++. Обратите внимание, что, как и многие реализации С++, Visual С++ имеет определенные расширения, которые не предоставляются С++, а также некоторые области, где он не полностью соответствует стандарту языка ISO С++.
Ответ 5
VS С++ по существу является определенным типом С++.
Новые версии VS включают в себя более новые функции, как расширения (такие как CLI), а также новые стандарты, такие как С++ 0x (вывод типа и т.д.).
Некоторые из этих функций могут случайно привести к тому, что ваш код перестанет работать, или вы можете полагаться на определенные ошибки Visual Studio, которые были тем временем исправлены.
Ответ 6
Visual С++ содержит компилятор С++, который является реализацией С++ Language Standard. Visual С++ 6 является несоответствующей реализацией. Visual С++ 2008 намного лучше. Есть некоторые изменения от VС++ 6 до VС++ 2008, почему ваш старый код не удалось скомпилировать. Есть флаги, которые позволяют компилировать код VС++ 6 в VС++ 2008.
Вот хороший вопрос уже о SO, который может быть полезен.
Ответ 7
Я предполагаю, что Visual С++ включает расширения библиотеки Microsoft.