Свойства C/C++ (Linux)
Поддержка Linux реализована в Visual Studio версии 2017 и выше.
Общие
Свойство | Description | Варианты выбора |
---|---|---|
Дополнительные каталоги включаемых файлов | Добавляет один или несколько каталогов для добавление к пути включения. Для разделения каталогов используйте точку с запятой. (-I[path]). | |
Формат отладочной информации | Определяет тип отладочной информации, создаваемой компилятором. | Нет — отладочная информация не создается для ускорения компиляции. Минимальные сведения об отладке — создание минимальных сведений об отладке. Полная отладочная информация (DWARF2) — создание отладочной информации DWARF2. |
Имя объектного файла | Определяет имя, переопределяющее имя объектного файла по умолчанию. Это может быть имя файла или каталога. (-o [name]). | |
Уровень предупреждений | Выберите, как строго компилятор должен оценивать ошибки в коде. Добавьте другие флаги непосредственно в разделе Дополнительные параметры. (/w, /Weverything). | Отключить все предупреждения — отключает все предупреждения компилятора. Включить все предупреждения — включает все предупреждения, в том числе предупреждения, отключенные по умолчанию. |
Обрабатывать предупреждения как ошибки | Интерпретирует все предупреждения компилятора как ошибки. Для нового проекта, вероятно, лучше всего использовать /Werror во всех компиляциях. Обработайте все предупреждения, чтобы устранить сложные в поиске ошибки в коде. | |
Дополнительные предупреждения C | Определяет набор дополнительных предупреждений. | |
Дополнительные предупреждения C++ | Определяет набор дополнительных предупреждений. | |
Включить подробный режим | При включении подробного режима выводится более подробная информация для диагностики сборки. | |
Компилятор C | Задает программу, вызываемую при компиляции файлов исходного кода C, или путь к компилятору C в удаленной системе. | |
Компилятор C++ | Задает программу, вызываемую при компиляции файлов исходного кода C++, или путь к компилятору C++ в удаленной системе. | |
Время ожидания компиляции | Время ожидания удаленной компиляции (в миллисекундах). | |
Копировать объектные файлы | Указывает, следует ли копировать скомпилированные объектные файлы с удаленной системы на локальный компьютер. | |
Максимальное количество параллельных заданий компиляции | Количество процессов, создаваемых параллельно во время компиляции. Значение по умолчанию — 1. Если вы используете подсистему Windows для Linux (WSL) версии 1, ограничение составляет 64. | |
Проверить архитектуру | Указывает на необходимость проверки соответствия платформы, для которой предназначен проект, платформе удаленной системы. | |
Включить санитайзер адресов | Скомпилируйте программу с помощью санитайзера адресов, который предназначен для обнаружения ошибок в памяти и позволяет находить такие проблемы во время выполнения, как использование после высвобождения, и выполнять проверки вне допустимого диапазона. |
Optimization
Свойство | Description | Варианты выбора |
---|---|---|
Optimization | Указывает уровень оптимизации для приложения. | Настраиваемый — настраиваемая оптимизация. Отключено — отключить оптимизацию. Минимизировать размер — оптимизировать по размеру. Максимизировать скорость — оптимизировать по скорости. Полная оптимизация — дорогостоящие оптимизации. |
Строгое присвоение псевдонима | Предполагает использование самых строгих правил присвоения псевдонимов. Объект одного типа никогда не будет считаться таким, который находится по тому же адресу, что и объект другого типа. | |
Развернуть циклы | Развертывает циклы, чтобы приложение работало быстрее благодаря сокращению выполняемых ветвей за счет увеличения размера кода. | |
Оптимизация времени компоновки | Включает межпроцедурную оптимизацию, разрешая оптимизатору просматривать объектные файлы в приложении. | |
Опустить указатель на фреймы | Отменяет создание указателей на фреймы в стеке вызовов. | |
Нет общих блоков | Выделяет неинициализированные глобальные переменные в разделе данных объектного файла, вместо того чтобы создавать их в виде общих блоков |
Препроцессор
Свойство | Description |
---|---|
Определения препроцессора | Определяет символы предобработки для исходного файла. (-D) |
Отменить определения препроцессора | Задает одну или несколько отмен определений препроцессора. (-U [macro]) |
Отменить все определения препроцессора | Отменяет все объявленные ранее определения препроцессора. (-undef) |
Показывать включаемые файлы | Создает список включаемых файлов с выводом компилятора. (-H) |
Создание кода
Свойство | Description | Варианты выбора |
---|---|---|
Позиционно-независимый код | Создает позиционно-независимый код для использования в общей библиотеке. | |
Статические элементы являются потокобезопасными | Выделяет дополнительный код для использования процедур, указанных в ABI C++, для потокобезопасной инициализации локальных статических элементов. | Нет — отключение потокобезопасных статических элементов. Да — включение потокобезопасных статических элементов. |
Оптимизация операций с плавающей запятой | Разрешает оптимизацию операций с плавающей запятой, послабляя требование соответствовать спецификации IEEE-754. | |
Встроенные методы скрыты | Когда включено, смещенные копии встроенных методов объявляются как private extern . |
|
Символы скрыты по умолчанию | Все символы объявляются как private extern , кроме явным образом помеченных для экспорта с помощью макроса __attribute . |
|
Включить исключения C++ | Определяет модель обработки исключений, используемую компилятором. | Нет — отключение обработки исключений. Да — включение обработки исключений. |
Язык
Свойство | Description | Варианты выбора |
---|---|---|
Включить информацию о типах времени выполнения | Добавляет код для проверки типов объектов C++ во время выполнения (информация о типах времени выполнения). (frtti, fno-rtti) | |
Стандарт языка C | Определяет стандарт языка C. | По умолчанию C89 — стандарт языка C89. C99 — стандарт языка C99. C11 — стандарт языка C11. C99 (диалект GNU) — стандарт языка C99 (диалект GNU). C11 (диалект GNU) — стандарт языка C11 (диалект GNU). |
Стандарт языка C++ | Определяет стандарт языка C++. | По умолчанию C++03 — стандарт языка C++03. C++11 — стандарт языка C++11. C++14 — стандарт языка C++14. C++03 (диалект GNU) — стандарт языка C++03 (диалект GNU). C++11 (диалект GNU) — стандарт языка C++11 (диалект GNU). C++14 (диалект GNU) — стандарт языка C++14 (диалект GNU). |
Расширенные
Свойство | Description | Варианты выбора |
---|---|---|
Компилировать как | Выбирает язык компиляции файлов .c и .cpp. (-x c, -x c++) | По умолчанию — определение производится по расширениям .c или .cpp. Компилировать как код C — компиляция в качестве кода C. Компилировать как код C++ — компиляция в качестве кода C++. |
Принудительно включенные файлы | Определяет один или несколько принудительно включенных файлов (-include [name]) |