Компилирует ли компилятор Microsoft Visual C ++ Express код C? - PullRequest
2 голосов
/ 02 декабря 2008

Я не уверен, что компилятор Visual C ++ Express Edition будет работать для компиляции c, и если нет, кто-то может связать меня с простым в использовании c-компилятором. Заранее спасибо.

Ответы [ 6 ]

6 голосов
/ 02 декабря 2008

Для добавления к Bill The Lizard ответ - любой компилятор C ++ скомпилирует файл с использованием правил языка C, если файл имеет расширение .c. Это можно переопределить, чтобы принудительно скомпилировать файл как C или C ++ с использованием параметров командной строки.

Это делается с помощью MSVC, используя параметры /Tc или /TC для компиляции в C и параметры /Tp или /TP для компиляции в C ++.

4 голосов
/ 02 декабря 2008

Да, это будет работать. C является подмножеством C ++ (для всех случаев, кроме очень небольшого числа исключительных случаев). Любой компилятор C ++ должен работать с допустимым кодом C.

См. Ответы на этот вопрос , где приведены некоторые из редких примеров кода на C, который не является допустимым C ++.

2 голосов
/ 04 декабря 2008

Вы можете скачать бесплатную копию Digital Mars C компилятора.

1 голос
/ 02 декабря 2008

http://www.bloodshed.net/compilers/index.html

Может быть, там что-то тебе по вкусу.

также всегда есть gcc: http://gcc.gnu.org/

0 голосов
/ 02 декабря 2008

Просто небольшое пояснение - Visual C ++ - это не компилятор, а IDE. Компилятором будет cl.exe, и, как ни печально, проблем с компиляцией кода C с помощью cl.
нет. Но есть и другие варианты, такие как порты Windows gcc или компилятор Watcom

0 голосов
/ 02 декабря 2008

Частично зависит от того, о чем вы говорите. Visual C ++ с радостью скомпилирует программы на C (убедитесь, что у них есть расширение .c, и убедитесь, что опция «Compile As» в разделе «Advanced» на страницах свойств «C / C ++» не установлена ​​только на C ++) , но не хватает всего материала в стандарте C99. Если вы заинтересованы в оригинальном стандарте C, Visual C ++ будет работать очень хорошо.

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