Перейти к содержимому

Как узнать какой компилятор c установлен

  • автор:

Компиляция проекта C/C++

Параметры компилятора C и C++ можно задать в интегрированной среде разработки Visual Studio или в командной строке.

В Visual Studio

Параметры компилятора для каждого проекта можно задать в диалоговом окне «Страницы свойств Visual Studio«. В левой области выберите «Свойства конфигурации», C/C++ и выберите категорию параметра компилятора. В разделе для каждого параметра компилятора приводится описание способа задания и расположение параметра в среде разработки. Дополнительные сведения и полный список параметров см. в разделе параметров компилятора MSVC.

В командной строке

Способы настройки параметров компилятора (CL.exe):

  • В командной строке
  • В файлах команд
  • В переменной среды CL

Параметры, заданные в переменной среды компилятора CL, используются при каждом вызове компилятора CL. Если командный файл указан в переменной среды компилятора CL или в командной строке, используются параметры, заданные в командном файле. В отличие от командной строки или переменной среды компилятора CL, командный файл позволяет использовать несколько строк для параметров и имен файлов.

Параметры компилятора обрабатываются «слева направо», и при обнаружении конфликта приоритет имеет последний (крайний справа) параметр. Переменная среды компилятора CL обрабатывается до обработки командной строки, поэтому в случае возникновения конфликтов между компилятором CL и командной строкой приоритет имеет командная строка.

Дополнительные разделы, содержащие сведения о компиляторах

  • Параметры компилятора MSVC
  • Файлы предварительно скомпилированных заголовков
  • Вызов компоновщика компилятором CL

Сведения о выборе узла компилятора и целевой архитектуры см. в разделе «Настройка проектов C++ для 64-разрядных целевых объектов x64».

Проверка версии стандарта C++

При написании кросс-платформенного и кросс-компиляторного кода часто приходится ветвить код с учётом версии стандарта C++, которую может использовать тот или иной компилятор.

Для такой проверки существует макрос __cplusplus. Чтобы узнать поддерживаемую компилятором версию стандарта языка, нужно проверить значение (или, как говорят, «ценность») этого макроса.

Вот так мы убедимся, поддерживает ли наш компилятор стандарт C++11 или выше:

#if __cplusplus >= 201103L std::cout  

Если нужно учитывать несколько стандартов (например C++11, C++14 и C++17), то код может выглядеть так:

#if __cplusplus == 201703L std::cout  

Как узнать какой компилятор c установлен

У меня стоит VC 2005 Beta 2
Как узнать версию компилятора??
И может кто сказать — зависит ли от версии компилятора — будет работать программа собранная им или нет.
Просто у меня исходники с примером — но там указанно что они гарантированно работают под компилятор версии 7.1 и 7.0( с некоторыми изменениями)
Я пытаюсь собрать проект под студией 2005 — все собирается но выползают баги — и есть предположение что причиной является компилятор.

03.07.05 21:33: Перенесено модератором из '.NET' — AndrewVK
Re: Как узнать версию компилятора??

От: Mab http://shade.msu.ru/~mab
Дата: 13.06.05 18:21
Оценка:

О каком языке вообще идет речь?

A_>У меня стоит VC 2005 Beta 2
A_>Как узнать версию компилятора??
Запустить cl или csc в консоли.

Re[2]: Как узнать версию компилятора??

От: Alexander_fx
Дата: 13.06.05 18:32
Оценка:

Здравствуйте, Mab, Вы писали:

Mab>О каком языке вообще идет речь?

A_>>У меня стоит VC 2005 Beta 2
A_>>Как узнать версию компилятора??
Mab>Запустить cl или csc в консоли.

Re[3]: Как узнать версию компилятора??

От: Mab http://shade.msu.ru/~mab
Дата: 13.06.05 18:41
Оценка:

Тогда это точно в "Средства разработки".

В VS2005 естественно другой компилятор, чем в 7.0 и 7.1. Из-за чего не работает данная конкретная программа смогут угадать разве что телепаты.

Re[4]: Как узнать версию компилятора??

От: Alexander_fx
Дата: 14.06.05 21:21
Оценка:

Здравствуйте, Mab, Вы писали:

Mab>Тогда это точно в "Средства разработки".

Mab>В VS2005 естественно другой компилятор, чем в 7.0 и 7.1. Из-за чего не работает данная конкретная программа смогут угадать разве что телепаты.

А что за версии компилятора 7 и 7.1
В каких студиях применяються?
И могу ли я использовать эти версии не ставя целиком продукт?

Re: Как узнать версию компилятора??

От: VladD2 www.nemerle.org
Дата: 14.06.05 23:40
Оценка:

Здравствуйте, Alexander_fx, Вы писали:

A_>У меня стоит VC 2005 Beta 2
A_>Как узнать версию компилятора??

Для нэ крутых пацанов. запустить командную строку и из нее вызвать компилятор.

Для крутых программынй способ:

Console.WriteLine(Environment.Version);

A_>И может кто сказать — зависит ли от версии компилятора — будет работать программа собранная им или нет.

Еще как. Для полной уверенности, что не заработает нужно брать альфы как можно ранних версий.

Правда не заработать программа может и на относительно стабильном компиляторе. Но тут уже нужна долгая тренировка.

A_>Просто у меня исходники с примером — но там указанно что они гарантированно работают под компилятор версии 7.1 и 7.0( с некоторыми изменениями)
A_>Я пытаюсь собрать проект под студией 2005 — все собирается но выползают баги — и есть предположение что причиной является компилятор.

Не, ну если вылизают баги, то точно компилятор. Не читать же сообщения об ошибке?!

Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: Как узнать версию компилятора??

От: Сергей Мухин
Дата: 03.07.05 20:06
Оценка:

Здравствуйте, Alexander_fx, Вы писали:

A_>У меня стоит VC 2005 Beta 2
A_>Как узнать версию компилятора??
A_>И может кто сказать — зависит ли от версии компилятора — будет работать программа собранная им или нет.
A_>Просто у меня исходники с примером — но там указанно что они гарантированно работают под компилятор версии 7.1 и 7.0( с некоторыми изменениями)
A_>Я пытаюсь собрать проект под студией 2005 — все собирается но выползают баги — и есть предположение что причиной является компилятор.

---
С уважением,
Сергей Мухин
Re[2]: Как узнать версию компилятора??

От: Alexander_fx
Дата: 04.07.05 11:50
Оценка:

Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, Alexander_fx, Вы писали:

A_>>У меня стоит VC 2005 Beta 2
A_>>Как узнать версию компилятора??

VD>Для нэ крутых пацанов. запустить командную строку и из нее вызвать компилятор.

VD>Для крутых программынй способ:
VD>

VD>Console.WriteLine(Environment.Version); VD>

A_>>И может кто сказать — зависит ли от версии компилятора — будет работать программа собранная им или нет.

VD>Еще как. Для полной уверенности, что не заработает нужно брать альфы как можно ранних версий.

VD>Правда не заработать программа может и на относительно стабильном компиляторе. Но тут уже нужна долгая тренировка.

A_>>Просто у меня исходники с примером — но там указанно что они гарантированно работают под компилятор версии 7.1 и 7.0( с некоторыми изменениями)
A_>>Я пытаюсь собрать проект под студией 2005 — все собирается но выползают баги — и есть предположение что причиной является компилятор.

VD>Не, ну если вылизают баги, то точно компилятор. Не читать же сообщения об ошибке?!

А можно поподробнее про метод для крутых пацанов.
Что набрать в командной строке и по какому пути.

Попробывал метод програмными способами — вернулось значение 2.0.50215.44 что очень похоже на версию моего фреймворка но и рядом не стоит с циферками 7 7.1 8
А циферки мне прислали буржуи. Я им запрос послал — а они мне ответ — какую версию компилятора я использую 7 или 7.1
Я вот и думаю а чтож за версию я использую.
А про ошибки — — так нету никаких ошибок. Все компилиться и работает. Только вот логика работы не соотвествует действительности. А былиб ошибки яб их запостил бы.

Re[3]: Как узнать версию компилятора??

От: VladD2 www.nemerle.org
Дата: 05.07.05 01:26
Оценка:

Здравствуйте, Alexander_fx, Вы писали:

A_>Попробывал метод програмными способами — вернулось значение 2.0.50215.44 что очень похоже на версию моего фреймворка но и рядом не стоит с циферками 7 7.1 8
A_>А циферки мне прислали буржуи. Я им запрос послал — а они мне ответ — какую версию компилятора я использую 7 или 7.1

Если фрэймворк 2.0.50215.44, то компилятор точно версии 8.0.

Как узнать какой компилятор c установлен

Рассмотрим создание первой простейшей программы на языке Си с помощью компилятора GCC , который на сегодняшний день является одим из наиболее популярных компиляторов для Cи и который доступен для разных платформ. Более подобному информацию о GCC можно получить на официальном сайте проекта https://gcc.gnu.org/.

Набор компиляторов GCC распространяется в различных версиях. Для Windows одной из наиболее популярных версий является пакет средств для разработки от некоммерческого проекта MSYS2 . Следует отметить, что для MSYS2 требуется 64-битная версия Windows 7 и выше (то есть Vista, XP и более ранние версии не подходят)

Итак, загрузим программу установки MSYS2 с официального сайта MSYS2:

Установка MSYS для разработки под С

После загрузки запустим программу установки:

Установка пакета mingw-w64 и msys2 на Windows

На первом шаге установки будет предложено установить каталог для установки. По умолчанию это каталог C:\msys64:

Установка компиляторов Си MSYS2 на Windows

Оставим каталог установки по умолчанию (при желании можно изменить). На следующем шаге устанавливаются настройки для ярлыка для меню Пуск, и затем собственно будет произведена установка. После завершения установки нам отобразить финальное окно, в котором нажмем на кнопку Завершить

Установка компиляторов MSYS2 на Windows

После завершения установки запустится консольное приложение MSYS2.exe. Если по каким-то причинам оно не запустилось, то в папке установки C:/msys64 надо найти файл usrt_64.exe :

компиляторы MSYS2.exe на Windows

Теперь нам надо установить собственно набор компиляторов GCC. Для этого введем в этом приложении следующую команду:

pacman -S mingw-w64-ucrt-x86_64-gcc

Для управления пакетами MSYS2 использует пакетный менеджер Packman. И данная команда говорит пакетному менелжеру packman установить пакет mingw-w64-ucrt-x86_64-gcc , который представляет набор компиляторов GCC (название устанавливаемого пакета указывается после параметра -S ).

Установка компиляторов MSYS2 на Windows

и после завершения установки мы можем приступать к программированию на языке Си. Если мы откроем каталог установки и зайдем в нем в папку C:\msys64\ucrt64\bin , то найдем там все необходимые файлы компиляторов:

Компилятор GCC на Windows

В частности, файл gcc.exe как раз и будет представлять компилятор для языка Си.

Далее для упрощения запуска компилятора мы можем добавить путь к нему в Переменные среды. Для этого можно в окне поиска в Windows ввести "изменение переменных среды текущего пользователя":

изменение переменных среды текущего пользователя в Windows

Нам откроется окно Переменныех среды:

Добавление GCC в переменные среды на Windows

И добавим путь к компилятору C:\msys64\ucrt64\bin :

Определение пути к компилятору GCC в переменных среды на Windows

Чтобы убедиться, что набор компиляторов GCC успешно установлен, введем следующую команду:

gcc --version

В этом случае нам должна отобразиться версия компиляторов

Версия компиляторов MSYS2 GCC на Windows

Создание первой программы

Итак, компилятор установлен, и теперь мы можем написать первую программу. Для этого потребуется любой текстовый редактор для набора исходного кода. Можно взять распространенный редактор Visual Studio Code или даже обычный встроенный Блокнот.

Итак, создадим на жестком диске папку для исходных файлов. А в этой папке создадим новый файл, который назовем hello.c .

Первая программа на Си в Windows

В моем случае файл hello.c находится в папке C:\c.

Теперь определим в файле hello.c простейший код, который будет выводить строку на консоль:

#include // подключаем заголовочный файл stdio.h int main(void) // определяем функцию main < // начало функции printf("Hello METANIT.COM!\n"); // выводим строку на консоль return 0; // выходим из функции >// конец функции

Для вывода строки на консоль необходимо подключить нужный функционал. Для этого в начале файла идет строка

#include

Директива include подключает заголовочный файл stdio.h, который содержит определение функции printf, которая нужна для вывода строки на консоль.

Далее идет определение функции int main(void) . Функция main должна присутствовать в любой программе на Си, с нее собственно и начинается выполнение приложения.

Ключевое слово int в определении функции int main(void) говорит о том, что функция возвращает целое число. А слово void в скобках указывает, что функция не принимает параметров.

Тело функции main заключено в фигурные скобки <>. В теле функции происходит вывод строки на консоль с помощью функции printf, в которую передается выводимая строка "Hello METANIT.COM!".

В конце осуществляем выход из функции с помощью оператора return . Так как функция должна возвращать целое число, то после return указывается число 0. Ноль используется в качестве индикатора успешного завершения программы.

После каждого действия в функции ставятся точка с запятой.

Язык программирования Си в Visual Studio Code

Теперь скомпилируем этот файл. Для этого откроем командную строку Windows и вначале с помощью команды cd перейдем к папке с исходным файлом:

cd C:\c

Чтобы скомпилировать исходный код, необходимо компилятору gcc передать в качестве параметра файл hello.c:

gcc hello.c

После этого будет скомпилирован исполняемый файл, который в Windows по умолчанию называется a.exe . И мы можем обратиться к этому файлу

a.exe

и в этом случае консоль выведет строку "Hello METANIT.COM!", собственно как и прописано в коде.

Стоит отметить, что мы можем переопределить имя компилируемого файла с помощью флага -o и передав ему имя файла, в который будет компилироваться программа. Например:

gcc hello.c -o hello.exe

В этом случае программа будет компилироваться в файл hello.exe , который мы также запустить.

Запуск компилятора GCC на Windows

Чтобы не приходилось вводить две команды: одну для компиляции программы и другую для ее запуска, мы можем объединить команды:

gcc hello.c -o hello.exe & hello

Эта команда сначала компилирует код в файл hello.exe, а потом сразу запускает его.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *