Компилировать C программы с Visual Studio 2005? - PullRequest
7 голосов
/ 06 февраля 2011

Могу ли я использовать Visual Studio 2005 для компиляции простых программ на Си?Похоже, есть только варианты создания проектов для VB, C # или C ++.Если это возможно, что мне нужно сделать?

Ответы [ 6 ]

12 голосов
/ 06 февраля 2011

Чтобы дать вам более конкретный ответ, Visual Studio обязательно скомпилирует код C в рамках проекта C ++. Он даже скомпилирует его как код C, а не C ++ - Visual Studio обрабатывает что-либо с расширением .c как код C и по умолчанию компилирует его. Это подтверждается в документации по MSDN (хотя указано только для VS2008 и VS2010). Существует даже переключатель командной строки компилятора (/Tc) и опция на странице свойств любого файла .c, чтобы скомпилировать его как код C ++, а не как C по умолчанию.

3 голосов
/ 06 февраля 2011

В общем, C является подмножеством C ++.Для простой программы на C, просто назовите это проектом C ++.У меня нет удобной копии программного обеспечения, но есть вероятность, что если вы создадите файл с расширением .c, он будет обрабатываться как C. [Возможно, мне следовало добавить: "..... как это было в версиях Visual Studio и Visual C ++, которые я использовал с начала 90-х годов.]

Обновление : для @R, который не являетсяв курсе своих языков программирования:

C ++ является прямым потомком C, который сохраняет почти все C как подмножество. C ++ обеспечивает более строгую проверку типов, чемC и напрямую поддерживает более широкий диапазон стилей программирования, чем C. C ++ является «лучшим C» в том смысле, что он поддерживает стили программирования, выполненные с использованием C, с лучшей проверкой типов и большей поддержкой обозначений (без потери эффективности).В том же смысле ANSI C лучше, чем K & R C. Кроме того, C ++ поддерживает абстракцию данных, объектно-ориентированное программирование и общее программирование (см. «Язык программирования C ++ (3-е издание)»; Приложение B, в котором обсуждается совместимостьу проблемы доступны для скачивания).[Выделение мое.]

Автор этого утверждения - человек с некоторым пониманием C ++ по имени Bjarne .И прежде чем попытаться спасти себя, придирчиво отметив «почти все», прочитайте то, что я написал: « В общем , C ...»

2 голосов
/ 29 июля 2013

Microsoft Visual Studio 2005 поставляется с надежным компилятором C89 / 90.Нет проблем с использованием C в VS2005.Файлы с расширением .c будут автоматически скомпилированы как файлы C.(Или вы можете переопределить язык, используя настройки проекта / параметры командной строки, как описано в других ответах).

Просто помните, опять же, что компиляторы VS поддерживают только «классический» C89 / 90.Функции C99 не поддерживаются (даже не упоминая C11).

2 голосов
/ 28 июля 2013

Моя попытка дать графическую обратную связь по вопросу.Снимки экрана, взятые из диалогового окна свойств проекта (1PassCompilerFixNotation) и исходного файла (emitter.c) в Visual Studio 2008, должны совпадать с VS 2005.

Для всего проекта:

Щелкните правой кнопкой мыши узел проектов в обозревателе решений и выберите «Свойства»

Установив запись «Скомпилировать как» на вкладке «Дополнительно», можно изменить синтаксис и семантику между

  • Компилировать как код C (/ TC)
  • Компилировать как код C ++ (/ TP)

для проекта.(См. Изображение ниже)

enter image description here

Для определенного файла:

Щелкните правой кнопкой мыши файл C / C ++ в обозревателе решений и выберите «Свойства»

Установив запись «Компилировать как» на вкладке «Дополнительно», можно изменить синтаксис и семантику между

  • Компилировать как код C (/ TC)
  • Компилировать как код C ++ (/ TP)

для определенного файла.(См. Изображение ниже)

Примечание: Определенные настройки файлов превосходят настройки проекта по умолчанию.

Compilersettings in Visual-Studio 2008

0 голосов
/ 06 февраля 2011

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

0 голосов
/ 06 февраля 2011

Выберите консоль C ++, и все будет в порядке.VS будет стремиться использовать расширения .cpp / etc, но вы сможете использовать расширения .c и .h,

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