Visual C ++ обрабатывает файлы C как C - PullRequest
0 голосов
/ 25 сентября 2010

Microsoft IDE прекрасно обрабатывает файлы C, за исключением того, что синтаксис выделяет их как C ++ и (возможно, связанные?) Показывает их в списке исходных файлов со значком C ++ (даже если в проводнике Windows правильно используется значок C).

Это просто так, или это указывает на то, что я пропускаю настройку или что-то в этом роде?

edit : я слишком рано говорил об обработке, очень хорошо, похоже, что тест был на изолированном файле. Файл, который он рассматривает как часть проекта, он обрабатывает как C ++ в той степени, в которой он запрещает конструкцию, подобную int class; (что, конечно, совершенно допустимо для C). Странно то, что компиляция программы с помощью F7 работает нормально; похоже, что редактор использует свой собственный метод для вызова компилятора для интерактивной проверки ошибок, отдельно от основного процесса компиляции, и этот отдельный метод, вероятно, использует опцию компилятора для обработки кода как C ++ независимо от расширения файла . Так что нам нужен способ сказать, чтобы он этого не делал, но я до сих пор не смог найти никакой возможности для этого. Кто-нибудь знает, что мне не хватает?

Ответы [ 2 ]

1 голос
/ 25 сентября 2010

Вы должны использовать VS2010. Очень важно, чтобы вы упомянули об этом в своих вопросах.

Да, я повторяю это в этом издании. Синтаксический анализатор IntelliSense был полностью переписан, одна из его дополнительных функций - поддержка squiggles. Существует довольно простая проблема со свойством File Type, как показано в окне Properties для файла .c. Доступен только тип «Код C / C ++». Однако я думаю, что не исключено, что анализатор сможет анализировать только код C ++. Также существует проблема с файлами исходного кода C ++ / CLI, для них вообще нет поддержки IntelliSense.

Надеюсь, это в списке дел. Напомните им об этом, отправив отзыв на веб-сайте connect.microsoft.com, они обращают на него внимание, чтобы установить приоритеты.

0 голосов
/ 25 сентября 2010

AFAIK это объединяет настройки C и C ++. Тем не менее, он достаточно умен, чтобы знать, что нужно компилировать файлы .c как файлы C и .cpp как C ++. Если вы попытаетесь закодировать что-то, что только C ++ разрешает в файле .c, а затем отправить его компилятору, он пожалуется, и компиляция завершится неудачей.

Извините, я не могу сказать больше, надеюсь, это немного поможет.

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