В чем разница между компилятором c и компилятором c ++ компилятора Microsoft c / c ++? - PullRequest
2 голосов
/ 17 декабря 2009
  1. Я мог бы скомпилировать void main () как исходный файл c ++ с помощью компилятора microsoft c / c ++ 14.00 (интегрирован с Visual Studio 2005). Это значит, что компилятор не соответствует стандарту c ++ на главном Прототип функции?

  2. Является ли компилятор microsoft c / c ++ только одним компилятором, то есть только одним компилятором c ++? Поскольку исходный файл C может быть скомпилирован как исходный файл C ++, поэтому нет необходимости разрабатывать компилятор c больше?

    спасибо.

1 Ответ

6 голосов
/ 17 декабря 2009

Я мог бы скомпилировать void main()

Действительные подписи главного:

int main(void); // no parameters 
int main(int, char **); // parameterized

Все остальное не стандартно. Стандарт допускает реализацию, разрешающую альтернативные подписи main().

Является ли компилятор microsoft c / c ++ только одним компилятором, то есть только один компилятор c ++?

Да, это один исполняемый файл (cl.exe). Тем не менее, он может работать как компилятор C или C ++. По умолчанию используется режим компилятора C ++. Вы можете изменить это, зайдя в Свойства проекта> C / C ++> Дополнительно (/TP или /TC)

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