Содержание

Параметры компилятора КОМПИЛЯТОРОМ MSVC | Microsoft Docs

  • Чтение занимает 2 мин

В этой статье

cl.exe — это средство, управляющее компиляторами и компоновщиком Microsoft C++ (КОМПИЛЯТОРОМ MSVC) C и C++.cl.exe is a tool that controls the Microsoft C++ (MSVC) C and C++ compilers and linker. cl.exe можно запускать только в операционных системах, поддерживающих Microsoft Visual Studio для Windows.cl.exe can be run only on operating systems that support Microsoft Visual Studio for Windows.

Компиляторы создают объектные файлы формата COFF (obj).The compilers produce Common Object File Format (COFF) object (.obj) files. Компоновщик создает исполняемые (exe) файлы или библиотеки динамической компоновки (DLL).The linker produces executable (.exe) files or dynamic-link libraries (DLLs).

Все параметры компилятора чувствительны к регистру.All compiler options are case-sensitive. Для указания параметра компилятора можно использовать либо косую черту (

/ ), либо тире ( - ).You may use either a forward slash (/) or a dash (-) to specify a compiler option.

Чтобы выполнить компиляцию без компоновки, используйте параметр /c .To compile without linking, use the /c option.

Найти параметр компилятораFind a compiler option

Чтобы найти конкретный параметр компилятора, см. один из следующих списков.To find a particular compiler option, see one of the following lists:

Укажите параметры компилятораSpecify compiler options

В разделе, посвященном каждому параметру компилятора, описывается, как его можно задать в среде разработки.The topic for each compiler option discusses how it can be set in the development environment. Сведения об указании параметров вне среды разработки см. в следующих статьях:For information on specifying options outside the development environment, see:

Параметры компоновщика компилятором MSVC также влияют на процесс сборки программы.MSVC Linker Options also affect how your program is built.

См. такжеSee also

Справочные сведения о сборке C/C++C/C++ Building Reference
CL вызывает компоновщикCL Invokes the Linker

Компилятор C | Dymola — Dassault Systèmes®

Visual Studio — бесплатные версии:
  • Visual Studio 2012 Express Edition (11.0)
  • Visual Studio 2013 Express for Windows Desktop Edition (12.0)
  • Visual Studio 2015 Express Edition for Windows Desktop (14.0)
  • Visual Studio 2017 Community Edition (15)
  • Visual Studio 2017 Express Edition for Windows Desktop (15) — обратите внимание, что данный компилятор поддерживает только компиляцию в 32-разрядные исполняемые файлы Windows.
  • Microsoft Build Tools 2017. Примечание:
    • Минимальные требования для работы Dymola:
      • версия VC++ 2017 самая поздняя из перечисленных последний номер версии инструменты
      • поддержка C++/CLI
    • При установке с указанными выше параметрами IDE (интегрированная среда разработки) не устанавливается и доступны только функции командной строки
    • Эта установка не отображается как отдельный вариант при последующем выборе компилятора в Dymola. Можно выбрать такой же альтернативный вариант, как и для других выпусков Visual Studio 2017.
  • Microsoft Build Tools 2019

Права на использование Visual Studio Community зависят от сегмента клиента и сценариев использования. Посетите веб-сайт Microsoft (ссылка приведена ниже).

Visual Studio — профессиональные версии:
  • Visual Studio 2012 (11.0)
  • Visual Studio 2013 (12.0)
  • Visual Studio 2015 (14.0)
  • Visual Studio Professional 2017 (VS 15)
  • Visual Studio Enterprise 2017 (VS 15)
  • Visual Studio Enterprise 2019 (VS 16)

Ниже приведена ссылка для скачивания компилятора Visual Studio.

Компилятор Intel:
  • Intel Parallel Studio XE 2016
  • Intel Parallel Studio XE 2017
  • Intel Parallel Studio XE 2018

Примечание. Компилятору Intel также требуется компилятор Visual Studio, и он имеет некоторые ограничения; Нажмите здесь для получения подробной информации. Ссылка для скачивания приведена ниже.

Компиляторы GCC:

 

Были протестированы следующие компиляторы (более поздние версии обычно совместимы):

  • 32-разрядная версия MinGW, GCC 4.8.1, 5.3, 6.3, 8.2
  • 64-разрядная версия MinGW, GCC 4.5.2, 5.3, 7.3, 8.1

Примечание. Компиляторы GCC имеют некоторые ограничения, при их установке требуются дополнительные модули и т. д. Нажмите здесь для получения подробной информации. Ссылка для скачивания приведена ниже.

Установка компилятора C на платформе Windows

 

Обратите внимание, что на платформе Windows необходимо отдельно установить компилятор C/C++. Компилятор C можно установить до установки Dymola или после нее. Вы можете запускать Dymola и просматривать модели, но для преобразования любых моделей необходимо установить компилятор C. Чтобы изменить компилятор, используемый приложением Dymola для преобразования модели, выберите пункт меню Симуляция > Настройка…, затем выберите вкладку «Компилятор». (Пример вкладки «Компилятор» приведен справа).

Выбранный компилятор сохраняется в настройках пользователя и используется во всех последующих установленных версиях Dymola.

Компиляторы C на платформе Linux

 

В системах Linux используется стандартный компилятор. Для управления процессом компиляции используется сценарий оболочки insert/dsbuild.sh. Dymola 2020x работает в 64-разрядной версии openSUSE Linux с версией gcc 5.3 и совместимыми системами. Помимо gcc код модели на языке C может компилироваться с помощью clang.

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

Борьба бобра с ослом, или Адаптация MSVC кода под gcc / Блог компании EXANTE / Хабр

Статья описывает некоторые затруднения, которы мы встретили при попытке адаптации одного из наших старых Windows-only проектов (плагин к MT4 серверу) к кросскомпиляции под Linux (CI, статический анализ, автотесты и прочие модные слова). Точнее, в коде присутствовал ряд конструкций, которые спокойно съедались MSVC, но категорически отказывались компилироваться с использованием mingw/gcc.

Под катом 7 наиболее часто встретившихся примеров кода, которые будут компилироваться MSVC, но не будут с gcc, и способы это лечить.


Дисклеймер

Цель статьи – не сказать, что какой-то компилятор лучше, чем другие, а указать на некоторые проблемы, которые могут возникнуть при адаптации кода к другим компиляторам (особенно если до этого использовался только MSVC). Также некоторые (если не все) элементы поведения можно свести к одному, если подкрутить флаги компиляции, но ведь лучше все-таки поправить код (хотя бы и sed’ом), правда?

Если вы начинающий трейер, то предлагаем вам почитать тут.


Условия задачи

Имеем среднего размера проект (около 15к SLOC не считая библиотек), в котором используется CMake с практически дефолтными флагами компиляции. MSVC используем 14 версии, а mingw-gcc — 6.3.


Найденные проблемы


Декорация имен методов

Внутри нашего проекта присутствует несколько методов, которые должны вызываться как C методы для того, чтобы плагин распознавался сервером. Оригинально в коде использовались следующие конструкции:

__declspec(dllexport) void SomeMethod() {}

При компиляции gcc имя функции декорировалось, что приводило к тому, что сервер не определял метод в плагине. Более правильное (рабочее) решение:

extern "C" __declspec(dllexport) void SomeMethod() {}

Пути к файлам и include

Различие разделителей в путях на разных системах также приводит к ошибкам на этапе компиляции. Код

#include "directory\\include.h"

откажется компилироваться под Linux/gcc, хотя под Windows/MSVC никаких проблем не будет. Это не совсем ошибка, но следует отметить, что для удобства переносимости лучше все же использовать обычный слэш, поскольку он воспринимается большинством систем. С путями также есть и другая проблема…


Регистр и include

Как вы, вероятно, знаете, пути some/path и SoMe/pATh в Windows не различаются, но это не так в некоторых других системах, что приводило к ошибкам, если программист указывал путь в заголовочному файлу без учета регистра. Например:

#include <Winsock2.h>

выдаст ошибку с gcc под Linux, потому что указанный файл просто не будет найден. Аналогичная проблема также наблюдается с именами библиотек, например, Ws2_32 против ws2_32.


Как определить целевую платформу

В проекте активно используется QuickFIX, который, как предполагается, должен компилироваться и работать под разными системами. В актуальной версии QuickFIX используются следующие конструкции:

#ifndef _MSC_VER #include <unistd.h> #endif

Не надо так делать. При использовании mingw _MSC_VER не определяется, вместо этого правильнее проверять _WIN32 для определения целевой платформы, а _MSC_VER использовать, только если вы хотите включить код, специфичный для MSVC.


Pure virtual методы

Код

class SomeClass
{
  virtual void someMethod() = NULL;
};

при попытке компиляции gcc радостно скажет


invalid pure specifier (only «= 0» is allowed)

но не вызовет ошибок у MSVC. Причина проста: gcc раскрывает макрос NULL не в 0, а в __null (что, в общем-то, совсем не запрещено). Решение: очевидно, отказаться от использования NULL для указания pure virtual методов и использовать = 0.


Определение методов внутри заголовочного файла

Код

class SomeClass
{
  SomeClass::SomeClass() {};
};

при использовании gcc выдаст


extra qualification ‘SomeClass::’ on member ‘SomeClass’

Правильный ответ, очевидно, не должен содержать SomeClass::. Вообще, в драфте стандарта C++14 (параграф 8.3) написано, что:


the declaration shall refer to a previously declared member of the class or namespace to which the qualifier refers

Декларация переменной без указания переменной

Код, написанный с использованием клипбордного интерфейса

void someMethod()
{
  SomeClass;
  SomeClass class;
}

содержит в себе ошибку, которая игнорируется MSVC, но вызовет ошибку на этапе компиляции у gcc:


declaration does not declare anything

Не уверен, какое поведение здесь правильное, а MSVC, вероятно, просто вырезает неиспользуемую строчку без подачи каких либо сигналов.


Вместо послесловия

Большинство перечисленных мной ошибок, очевидно, довольно легко правятся и без чтения данной статьи, руководствуясь исключительно замечаниями компилятора. Однако она наглядно иллюстрирует различие «двух миров» в восприятии вашего исходного кода, и то, что для вас может быть естественным, отнюдь не является таковым при смене компилятора.

PostgreSQL : Документация: 9.6: 17.1. Сборка с помощью Visual C++ или Microsoft Windows SDK : Компания Postgres Professional

17.1. Сборка с помощью Visual C++ или Microsoft Windows SDK

PostgreSQL может быть собран с помощью компилятора Visual C++ от Microsoft. Этот компилятор есть в пакетах Visual Studio, Visual Studio Express и в некоторых версиях Microsoft Windows SDK. Если у вас ещё не установлена среда Visual Studio, проще всего будет использовать компиляторы из Visual Studio 2019 или из Windows SDK 10, которые Microsoft распространяет бесплатно.

С применением инструментария Microsoft Compiler возможна и 32-, и 64-битная сборка. 32-битную сборку PostgreSQL можно произвести с использованием Visual Studio 2005 — Visual Studio 2019 (включая редакции Express), а также отдельных выпусков Windows SDK версии с 6.0 по 10. Для 64-битных сборок также можно использовать Microsoft Windows SDK версии с 6.0a по 10 или Visual Studio 2008 и новее. Компиляция для систем, начиная с Windows XP и Windows Server 2003, поддерживается при использовании Visual Studio 2005 — Visual Studio 2013. При сборке с Visual Studio 2015 поддерживаются системы, начиная с Windows Vista и Windows Server 2008. При сборке с Visual Studio 2017 и Visual Studio 2019 поддерживаются системы, начиная с Windows 7 SP1 и Windows Server 2008 R2 SP1.

Инструменты для компиляции с помощью Visual C++ или Platform SDK находятся в каталоге src/tools/msvc. При сборке убедитесь, что в системном пути PATH не подключаются инструменты из набора MinGW или Cygwin. Также убедитесь, что в пути PATH указаны каталоги всех необходимых инструментов Visual C++. Если вы используете Visual Studio, запустите Visual Studio Command Prompt. Если вы хотите собрать 64-битную версию, вы должны выбрать 64-битную версию данной оболочки, и наоборот. Если вы используете Microsoft Windows SDK, запустите через стартовое меню, подменю SDK оболочку CMD shell. В последних версиях SDK можно изменить целевую архитектуру процессора, вариант сборки и целевую ОС с помощью команды setenv, например после setenv /x86 /release /xp будет получена выпускаемая 32-битная сборка для Windows XP. О других параметрах setenv можно узнать с ключом /?. Все команды должны запускаться из каталога src\tools\msvc.

До начала сборки может потребоваться отредактировать файл config.pl и изменить в нём желаемые параметры конфигурации или пути к сторонним библиотекам, которые будут использоваться. Для получения конфигурации сначала считывается и разбирается файл config_default.pl, а затем применяются все изменения из config.pl. Например, чтобы указать, куда установлен Python, следует добавить в config.pl:

$config->{python} = 'c:\python26';

Вам нужно задать только те параметры, которые отличаются от заданных в config_default.pl.

Если вам необходимо установить какие-либо другие переменные окружения, создайте файл с именем buildenv.pl и поместите в него требуемые команды. Например, чтобы добавить путь к bison, которого нет в PATH, создайте файл следующего содержания:

$ENV{PATH}=$ENV{PATH} . ';c:\some\where\bison\bin';

17.1.1. Требования

Для сборки PostgreSQL требуется следующее дополнительное ПО. Укажите каталоги, в которых находятся соответствующие библиотеки, в файле конфигурации config.pl.

Microsoft Windows SDK

Если с вашим инструментарием для разработки не поставляется поддерживаемая версия Microsoft Windows SDK, рекомендуется установить последнюю версию SDK (в настоящее время 10), которую можно загрузить с https://www.microsoft.com/download/.

Устанавливая SDK, вы всегда должны выбирать для установки пункт Windows Headers and Libraries (Заголовочные файлы и библиотеки Windows). Если вы установили Windows SDK, включая Visual C++ Compilers, Visual Studio для сборки вам не нужна. Обратите внимание, что с версии 8.0a в SDK для Windows не включается полное окружение для сборки в командной строке.

ActiveState Perl

ActiveState Perl требуется для запуска скриптов, управляющих сборкой. Perl из MinGW или Cygwin работать не будет. ActiveState Perl также должен находиться по пути в PATH. Готовый двоичный пакет можно загрузить с http://www.activestate.com (Заметьте, что требуется версия 5.8.3 или выше, при этом достаточно бесплатного стандартного дистрибутива (Standard Distribution).)

Следующее дополнительное ПО не требуется для базовой сборки, но требуется для сборки полного пакета. Укажите каталоги, в которых находятся соответствующие библиотеки, в файле конфигурации config.pl.

ActiveState TCL

Требуется для компиляции PL/TCL (Заметьте, что требуется версия 8.4 или выше, при этом достаточно бесплатного стандартного дистрибутива (Standard Distribution).

Bison и Flex

Для компиляции из Git требуются Bison и Flex, хотя они не нужны для компиляции из дистрибутивного пакета исходного кода. Bison должен быть версии 1.875 или 2.2, либо новее, а Flex — версии 2.5.31 или новее.

И Bison, и Flex входят в комплект утилит msys, который можно загрузить с http://www.mingw.org/wiki/MSYS в качестве компонента набора MinGW.

Вам потребуется добавить каталог, содержащий flex.exe и bison.exe, в путь, задаваемый переменной PATH, в buildenv.pl, если она его ещё не включает. В случае с MinGW, это будет подкаталог \msys\1.0\bin в каталоге вашей инсталляции MinGW.

Примечание

Bison, поставляемый в составе GnuWin32, может работать некорректно, когда он установлен в каталог с именем, содержащим пробелы, например, C:\Program Files\GnuWin32 (целевой каталог по умолчанию в англоязычной системе). В таком случае, возможно, стоит установить его в C:\GnuWin32 или задать в переменной окружения PATH короткий путь NTFS к GnuWin32 (например, C:\PROGRA~1\GnuWin32).

Примечание

Старые программы winflex, которые раньше размещались на FTP-сайте PostgreSQL и упоминались в старой документации, не будут работать в 64-битной Windows, выдавая ошибку «flex: fatal internal error, exec failed». Используйте Flex из набора MSYS.

Diff

Diff требуется для запуска регрессионных тестов, его можно загрузить с http://gnuwin32.sourceforge.net.

Gettext

Gettext требуется для сборки с поддержкой NLS, его можно загрузить с http://gnuwin32.sourceforge.net. Заметьте, что для сборки потребуются и исполняемые файлы, и зависимости, и файлы для разработки.

MIT Kerberos

Требуется для поддержки проверки подлинности GSSAPI. MIT Kerberos можно загрузить с https://web.mit.edu/Kerberos/dist/index.html.

libxml2 и libxslt

Требуется для поддержки XML. Двоичный пакет можно загрузить с https://zlatkovic.com/pub/libxml, а исходный код с http://xmlsoft.org. Учтите, что для libxml2 требуется iconv, который можно загрузить там же.

openssl

Требуется для поддержки SSL. Двоичные пакеты можно загрузить с http://www.slproweb.com/products/Win32OpenSSL.html, а исходный код с http://www.openssl.org.

ossp-uuid

Требуется для поддержки UUID-OSSP (только для contrib). Исходный код можно загрузить с http://www.ossp.org/pkg/lib/uuid/.

Python

Требуется для сборки PL/Python. Двоичные пакеты можно загрузить с http://www.python.org.

zlib

Требуется для поддержки сжатия в pg_dump и pg_restore. Двоичные пакеты можно загрузить с https://www.zlib.net.

17.1.2. Специальные замечания для 64-битной Windows

PostgreSQL для архитектуры x64 можно собрать только в 64-битной Windows, процессоры Itanium не поддерживаются.

Совместная сборка 32- и 64-битных версий в одном дереве не поддерживается. Система сборки автоматически определит, в каком окружении (32- или 64-битном) она запущена, и соберёт соответствующий вариант PostgreSQL. Поэтому перед сборкой важно запустить требуемую версию командного интерпретатора.

Для использования на стороне сервера сторонних библиотек, таких как python или openssl, эти библиотеки также должны быть 64-битными. 64-битный сервер не поддерживает загрузку 32-битных библиотек. Некоторые библиотеки сторонних разработчиков, предназначенные для PostgreSQL, могут быть доступны только в 32-битных версиях и в таком случае их нельзя будет использовать с 64-битной версией PostgreSQL.

Чтобы собрать весь PostgreSQL в конфигурации выпуска (по умолчанию), запустите команду:

build

Чтобы собрать весь PostgreSQL в конфигурации отладки, запустите команду:

build DEBUG

Для сборки отдельного проекта, например psql, выполните, соответственно:

build psql
build DEBUG psql

Чтобы сменить конфигурацию по умолчанию на отладочную, поместите в файл buildenv.pl следующую строку:

$ENV{CONFIG}="Debug";

Также возможна сборка из графической среды Visual Studio. В этом случае вам нужно запустить в командной строке:

perl mkvcbuild.pl

и затем открыть в Visual Studio полученный pgsql.sln в корневом каталоге дерева исходных кодов.

17.1.4. Очистка и установка

В большинстве случаев за изменением файлов будет следить автоматическая система отслеживания зависимостей в Visual Studio. Но если изменений было слишком много, может понадобиться очистка установки. Чтобы её выполнить, просто запустите команду clean.bat, которая автоматически очистит все сгенерированные файлы. Вы также можете запустить эту команду с параметром dist, в этом случае она отработает подобно make distclean и удалит также выходные файлы flex/bison.

По умолчанию все файлы сохраняются в подкаталогах debug или release. Чтобы установить эти файлы стандартным образом, а также сгенерировать файлы, требуемые для инициализации и использования базы данных, запустите команду:

install c:\destination\directory

Если вы хотите установить только клиентские приложения и интерфейсные библиотеки, выполните команду:

install c:\destination\directory client

17.1.5. Запуск регрессионных тестов

Чтобы запустить регрессионные тесты, важно сначала собрать все необходимые для них компоненты. Также убедитесь, что в системном пути могут быть найдены все DLL, требуемые для загрузки всех подсистем СУБД (например, DLL Perl и Python для процедурных языков). Если их каталоги в пути поиска отсутствуют, задайте их в файле buildenv.pl. Чтобы запустить тесты, выполните одну из следующих команд в каталоге src\tools\msvc:

vcregress check
vcregress installcheck
vcregress plcheck
vcregress contribcheck
vcregress modulescheck
vcregress ecpgcheck
vcregress isolationcheck
vcregress bincheck
vcregress recoverycheck
vcregress upgradecheck

Чтобы выбрать другой планировщик выполнения тестов (по умолчанию выбран параллельный), укажите его в командной строке, например:

vcregress check serial

За дополнительными сведениями о регрессионных тестах обратитесь к Главе 31.

Для запуска регрессионных тестов клиентских программ с применением команды vcregress bincheck или тестов восстановления, с применением vcregress recoverycheck, должен быть установлен дополнительный модуль Perl:

IPC::Run

На момент написания документации модуль IPC::Run не включается ни в инсталляцию Perl ActiveState, ни в библиотеку ActiveState PPM (Perl Package Manager, Менеджер пакетов Perl). Чтобы установить его, загрузите архив исходного кода IPC-Run-<version>.tar.gz из CPAN, по адресу https://metacpan.org/release/IPC-Run/, и распакуйте его. Откройте файл buildenv.pl и добавьте в него переменную PERL5LIB, указывающую на подкаталог lib из извлечённого архива. Например:

$ENV{PERL5LIB}=$ENV{PERL5LIB} . ';c:\IPC-Run-0.94\lib';

17.1.6. Сборка документации

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

Добавьте в buildenv.pl переменную, задающую местоположение ранее созданного общего каталога, например:

$ENV{DOCROOT}='c:\docbook';

Чтобы собрать документацию, запустите builddoc.bat. Обратите внимание, что при этом сборка фактически будет запущена дважды; это нужно для построения индексов. Сгенерированные HTML-файлы окажутся в каталоге doc\src\sgml.

Online c compiler gdb

Online c compiler gdb

Visual Studio Gdb Commands

Oct 13, 2020 · Ideone is an online compiler and debugging tool which allows you to compile source code and execute it online in more than 60 programming languages. Let’s see how to use online gdb compiler. Ideone is very simple and easy to use online compiler where you can compile your source code and run it.

Compile and execute code online in C, C++, Java, Python, PHP, Javascript, Kotlin, Swift, C#, Go, Pascal, Ruby, etc with our online compiler and powerful IDE.

Action Windows/Linux Mac; Run Program: Ctrl-Enter: Command-Enter: Find: Ctrl-F: Command-F: Replace: Ctrl-H: Command-Option-F: Remove line: Ctrl-D: Command-D: Move …

Python anywhere is an online GDB compiler and web hosting platform based on the python programming language. It provides browser-based access to server-based python and Bash command line interface along with the syntax highlighting. You can use users browser to transfer programs from the service.

Visual Studio Gdb Commands

View L3 from CIS 150 at Aaec — Smcc Campus. /* Welcome to GDB Online. GDB online is an online compiler and debugger tool for C, C+, Python, Java, PHP, Ruby, Perl, C#, VB, Swift, Pascal, Fortran,

Why won’t my program run in GDB online compiler/debugger or Visual Studio C++ 2019 [closed] Ask Question Asked 7 months ago. Active 7 months ago. Viewed 263 times -2. Closed. This question needs debugging details. It is not currently accepting answers. …

Detroit series 60 12.7l oil capacity

Download the installer with GCC Compiler, e.g., codeblocks-13.12mingw-setup.exe (98 MB) (which includes MinGW’s GNU GCC compiler and GNU GDB debugger). Step 2: Install. Run the downloaded installer. Accept the default options. Verify the Compiler’s and Debugger’s Path: (For CodeBlocks 13.12 For Windows) Goto «Settings» menu ⇒ «Compiler…» ⇒ In «Selected Compiler», choose «GNU GCC Compiler» ⇒ Select tab «Toolchain Executables» ⇒ Check the «Compiler’s Installation Directory». c: Continues/Resumes running the program until the next breakpoint or end of program: continue number: Continue but ignore current breakpoint number times. finish: Continue until the current function is finished: step: Runs the next line of the program: step N: Runs the next N lines of program: next: Like s, but it does not step into functions …

Rds aurora postgresql versions

C online compiler is the online IDE with C compiler, freely available to compile C program online. It is basically g++ compiler to compile C program. CppBuzz .com

Apr 04, 2002 · printf «X = %d, Y = %d «,X,Y. If you wanted to frequently use this command during your debugging session, you could do: (gdb) define pxy Type commands for definition of «pxy». End with a line saying just «end». >printf «%X = %d, Y = %d «,X,Y >end. Then you could invoke it just by typing «pxy».

C Programming Compiler free download — Programming in C in 7 days, Digital Mars C/C++ Compiler, Crossword Compiler, and many more programs Compile and execute code online in C, C++, Java, Python, PHP, Javascript, Kotlin, Swift, C#, Go, Pascal, Ruby, etc with our online compiler and powerful IDE.

Docverify notary

Online GDB is online ide with compiler and debugger for C/C++. Code, Compiler, Run, Debug Share code nippets.

Mar 15, 2010 · $ cc factorial.c $ ./a.out Enter the number: 3 The factorial of 3 is 12548672 Let us debug it while reviewing the most useful commands in gdb. Step 1. Compile the C program with debugging option -g. Compile your C program with -g option. This allows the compiler to collect the debugging information. $ cc -g factorial.c The user friendly C++ online compiler that allows you to Write C++ code and run it online. The C++ text editor also supports taking input from the user and standard libraries. It uses the GCC (g++) compiler to compiler code.

Taurus man disappearing act

Online C Compiler. Code, Compile, Run and Debug C program online. Write your code in this editor and press «Run» button to compile and execute it.

Auch wenn dieser Gdb compiler online ohne Zweifel im überdurschnittlichen Preisbereich liegt, findet der Preis sich auf jeden Fall in den Aspekten langer Haltbarkeit und sehr guter Qualität wider. Auf unserer Website findest du alle nötigen Unterschiede und das Team hat eine Auswahl an Gdb compiler online verglichen.

C++ compiler online. … online editor Online компилятор c Online compiler c++ Online c++ compiler 17 C++ online компилятор Online gdb compiler c … Mar 01, 2019 · 3. Now compile the code. (here test.c). g flag means you can see the proper names of variables and functions in your stack frames, get line numbers and see the source as you step around in the executable.-std=C99 flag implies use standard C99 to compile the code.-o flag writes the build output to an output file.

4 week bench press program

Executive Summary: This document is a brief description of how to compile basic C++ programs using g++. It provides sample command lines for invoking the g++ compiler and a list of some common compiler options.

Online C++ Compiler, Online C++ Editor, Online C++ IDE, C++ Coding Online, Practice C++ Online, Execute C++ Online, Compile C++ Online, Run C++ Online, Online C++ Interpreter, Compile and Execute C++ Online (GNU GCC v7.1.1)

Compile and execute code online in C, C++, Java, Python, PHP, Javascript, Kotlin, Swift, C#, Go, Pascal, Ruby, etc with our online compiler and powerful IDE.GDB online is an online compiler and debugger tool for C, C++, Python, PHP, Ruby, C#, VB, Perl, Swift, Prolog, Javascript, Pascal, HTML, CSS, JS Code, Compile, Run and Debug online from anywhere in world.

70 ft wide house plans

Most operating systems come with a debugging tool. Many versions of Linux include gdb, the GNU project debugger. The gdb shell command can debug and run C programs, amongst others. Compile and Run. To use gdb, first compile your program with the -g option

Emacs Quick Reference. Key Bindings · Compiling · Debugging · Controlling Windows · Emacs Manual. For more information, see Chap. 23 in H. Hahn, Harley Hahn’s Student Guide to UNIX, 2nd edition, McGraw-Hill, 1996; Appendix F summarizes most of the emacs commands.

Online GDB is online compiler and debugger for C/C++. You can compile, run and debug code with gdb online. Using gcc/g++ as compiler and gdb as debugger. Currently C and C++ languages are supported. Mar 19, 2020 · Code::Blocks is a free C, C++ and Fortran IDE built to meet the most demanding needs of its users. It is designed to be very extensible and fully configurable. Finally, an IDE with all the features you need, having a consistent look, feel and operation across platforms.

Is spectrum tv app compatible with vizio smart tv

C online compiler is the online IDE with C compiler, freely available to compile C program online. It is basically g++ compiler to compile C program. CppBuzz .com

Holland lop for sale near me

Iphone spy app no jailbreak free trial

Multiple scatter plots in python

Www erca gov et etax service

Honda atc 350x restoration

2007 lexus ls 460 body kit

How long to wait after google onsite interview

Eonon radio no sound

Galax geforce gtx 1660 super oc 6gb

2020 gmc denali 2500hd at4

Determination issued means unemployment michigan

Competitive edge software login

State of survival headquarters level 20 requirements

Geforce experience camera not working

How to remove special characters in notepad++

Go rhino push bar dodge charger

Dodge ram gear selector + not working

Ryobi 18v cordless chainsaw manual

Credit card terminals for sale

Quick assist firewall ports

True beauty naver spoilers

Exchange 2016 sender based routing

Replace the loading by an equivalent resultant force and couple moment at point o

Homework 3.6 piecewise functions answers algebra and beyond 2015 answers

Dna and genes virtual lab answers

Настроить код Visual Studio для Microsoft C ++

В этом руководстве вы настраиваете Visual Studio Code для использования компилятора и отладчика Microsoft Visual C ++ в Windows.

После настройки VS Code вы скомпилируете и отладите простую программу Hello World в VS Code. В этом руководстве не содержится подробных сведений о наборе инструментов Microsoft C ++ или языке C ++. По этим предметам в Интернете доступно множество хороших ресурсов.

Если у вас есть какие-либо проблемы, не стесняйтесь сообщать о проблеме для этого руководства в репозиторий документации VS Code.

Предварительные требования

Чтобы успешно пройти это руководство, вы должны сделать следующее:

  1. Установите код Visual Studio.

  2. Установите расширение C / C ++ для VS Code. Вы можете установить расширение C / C ++, выполнив поиск «c ++» в представлении «Расширения» (⇧⌘X (Windows, Linux Ctrl + Shift + X)).

  3. Установите набор инструментов компилятора Microsoft Visual C ++ (MSVC).

    Если у вас установлена ​​последняя версия Visual Studio, откройте установщик Visual Studio из меню «Пуск» Windows и убедитесь, что рабочая нагрузка C ++ отмечена.Если он не установлен, установите флажок и нажмите кнопку Изменить в программе установки.

    Вы также можете установить только C ++ Build Tools без полной установки Visual Studio IDE. На странице загрузок Visual Studio прокрутите вниз, пока не увидите Инструменты для Visual Studio в разделе Все загрузки , и выберите загрузку для Инструменты сборки для Visual Studio .

    Это запустит установщик Visual Studio, который вызовет диалоговое окно, показывающее доступные рабочие нагрузки Visual Studio Build Tools.Проверьте рабочую нагрузку инструментов сборки C ++ и выберите Установить .

Примечание : вы можете использовать набор инструментов C ++ из Visual Studio Build Tools вместе с кодом Visual Studio для компиляции, сборки и проверки любой базы кода C ++, если у вас также есть действующая лицензия Visual Studio (Community, Pro или Enterprise. ), который вы активно используете для разработки этой кодовой базы C ++.

Проверьте установку Microsoft Visual C ++

Чтобы использовать MSVC из командной строки или VS Code, необходимо запустить из командной строки разработчика для Visual Studio .Обычная оболочка, такая как PowerShell, Bash или командная строка Windows, не имеет необходимых переменных среды пути.

Чтобы открыть командную строку разработчика для VS, начните вводить «разработчик» в меню «Пуск» Windows, и оно должно появиться в списке предложений. Точное имя зависит от того, какая версия Visual Studio или Visual Studio Build Tools у вас установлена. Щелкните элемент, чтобы открыть подсказку.

Вы можете проверить, что у вас есть компилятор C ++, cl.exe , установлен правильно, набрав «cl», и вы должны увидеть сообщение об авторских правах с версией и основным описанием использования.

Если командная строка разработчика использует расположение BuildTools в качестве начального каталога (вы не хотели бы помещать туда проекты), перейдите в свою пользовательскую папку ( C: \ users \ {ваше имя пользователя} \ ), прежде чем начинать создание новые проекты.

Создать Hello World

В командной строке разработчика создайте пустую папку под названием «проекты», в которой вы можете хранить все свои проекты VS Code, затем создайте подпапку под названием «helloworld», перейдите в нее и откройте VS Code (, код ) в этой папке. (.), введя следующие команды:

  мкдир проектов
CD проекты
mkdir helloworld
cd helloworld
код.  

«Код». Команда открывает VS Code в текущей рабочей папке, которая становится вашей «рабочей областью». По мере прохождения руководства вы увидите три файла, созданные в папке .vscode в рабочей области:

  • tasks.json (инструкция по сборке)
  • launch.json (настройки отладчика)
  • c_cpp_properties.json (путь к компилятору и настройки IntelliSense)

Добавить файл исходного кода

В строке заголовка проводника нажмите кнопку New File и назовите файл helloworld.cpp .

Добавить исходный код hello world

Теперь вставьте этот исходный код:

  #include 
#include <вектор>
#include <строка>

используя пространство имен std;

int main ()
{
    vector  msg {"Hello", "C ++", "World", "from", "VS Code", "и расширение C ++!"};

    for (константная строка и слово: сообщение)
    {
        cout << word << "";
    }
    cout << endl;
}  

Теперь нажмите ⌘S (Windows, Linux Ctrl + S), чтобы сохранить файл.Обратите внимание, как только что добавленный файл отображается в представлении проводника (⇧⌘E (Windows, Linux Ctrl + Shift + E)) на боковой панели VS Code:

Вы также можете включить автосохранение для автоматического сохранения изменений файла, установив флажок Автосохранение в главном меню Файл .

Панель активности слева позволяет открывать различные представления, такие как Search , Source Control и Run . Вы увидите представление Run позже в этом руководстве.Вы можете узнать больше о других представлениях в документации по пользовательскому интерфейсу VS Code.

Примечание : Когда вы сохраняете или открываете файл C ++, вы можете увидеть уведомление от расширения C / C ++ о доступности версии для участников программы предварительной оценки, которая позволяет вам тестировать новые функции и исправления. Вы можете проигнорировать это уведомление, выбрав X ( Clear Notification ).

Изучите IntelliSense

В вашем новом helloworld.cpp , наведите указатель мыши на вектор или строку , чтобы увидеть информацию о типе. После объявления переменной msg начните вводить msg. , как при вызове функции-члена. Вы должны сразу увидеть список завершения, который показывает все функции-члены, и окно, которое показывает информацию о типе для объекта msg :

Вы можете нажать клавишу TAB, чтобы вставить выбранный элемент; затем, когда вы добавите открывающую скобку, вы увидите информацию обо всех аргументах, которые требуются функции.

Сборка helloworld.cpp

Затем вы создадите файл tasks.json , чтобы сообщить VS Code, как построить (скомпилировать) программу. Эта задача вызовет компилятор Microsoft C ++ для создания исполняемого файла на основе исходного кода.

В главном меню выберите Терминал > Настроить задачу сборки по умолчанию . В раскрывающемся списке, в котором будет отображаться раскрывающийся список задач, в котором перечислены различные предопределенные задачи сборки для компиляторов C ++. Выберите cl.exe строит активный файл , который будет строить файл, который в данный момент отображается (активен) в редакторе.

Это создаст файл tasks.json в папке .vscode и откроет его в редакторе.

Ваш новый файл tasks.json должен выглядеть примерно так, как показано ниже в формате JSON:

  {
  "версия": "2.0.0",
  "задачи": [
    {
      "тип": "оболочка",
      "label": "cl.exe построить активный файл",
      "команда": "кл.EXE",
      "аргументы": [
        "/ Zi",
        "/ EHsc",
        "/ Fe:",
        "$ {fileDirname} \\ $ {fileBasenameNoExtension} .exe",
        "$ {файл}"
      ],
      "проблемаМатчер": ["$ msCompile"],
      "группа": {
        "вид": "строить",
        "isDefault": true
      }
    }
  ]
}  

Команда Параметр указывает программу для запуска; в данном случае это "cl.exe". Массив args определяет аргументы командной строки, которые будут переданы cl.EXE. Эти аргументы должны быть указаны в порядке, ожидаемом компилятором. Эта задача сообщает компилятору C ++ взять активный файл ( $ {file} ), скомпилировать его и создать исполняемый файл (переключатель / Fe: ) в текущем каталоге ( $ {fileDirname} ) с то же имя, что и у активного файла, но с расширением .exe ( $ {fileBasenameNoExtension} .exe ), что в нашем примере дает helloworld.exe .

Примечание : Вы можете узнать больше о задачах .json переменных в справочнике переменных.

Ярлык Значение - это то, что вы увидите в списке задач; вы можете называть это как хотите.

Значение problemMatcher выбирает выходной анализатор, который будет использоваться для поиска ошибок и предупреждений в выходных данных компилятора. Для cl.exe вы получите наилучшие результаты, если используете средство сопоставления задач $ msCompile .

Значение «isDefault»: true в объекте группы указывает, что эта задача будет запущена при нажатии ⇧⌘B (Windows, Linux Ctrl + Shift + B).Это свойство предназначено только для удобства; если вы установите для него значение false, вы все равно можете запустить его из меню «Терминал» с помощью «Задачи : Выполнить задачу сборки ».

Запуск сборки

  1. Вернитесь к helloworld.cpp . Ваша задача создает активный файл, и вы хотите построить helloworld.cpp .

  2. Чтобы запустить задачу сборки, определенную в tasks.json , нажмите ⇧⌘B (Windows, Linux Ctrl + Shift + B) или в главном меню Terminal выберите Tasks: Run Build Task .

  3. При запуске задачи вы должны увидеть панель «Интегрированный терминал» под редактором исходного кода. После завершения задачи терминал показывает вывод компилятора, который указывает, успешно ли завершилась сборка. Для успешной сборки C ++ результат выглядит примерно так:

  4. Создайте новый терминал с помощью кнопки + , и у вас будет новый терминал (работающий с PowerShell) с папкой helloworld в качестве рабочего каталога.Запустите ls , и теперь вы должны увидеть исполняемый файл helloworld.exe вместе с различными промежуточными файлами вывода и отладки C ++ ( helloworld.obj , helloworld.pdb ).

  5. Вы можете запустить helloworld в терминале, набрав . \ Helloworld.exe .

Примечание : вам может потребоваться несколько раз нажать Enter, чтобы увидеть командную строку PowerShell в терминале.Эта проблема должна быть исправлена ​​в будущем выпуске Windows.

Изменение tasks.json

Вы можете изменить свой tasks.json для создания нескольких файлов C ++, используя аргумент типа "$ {workspaceFolder} \\ *. Cpp" вместо $ {file} . Это создаст все файлы .cpp в вашей текущей папке. Вы также можете изменить имя выходного файла, заменив "$ {fileDirname} \\ $ {fileBasenameNoExtension} .exe" жестко заданным именем файла (например, "$ {workspaceFolder} \\ myProgram.exe ").

Отладка helloworld.cpp

Затем вы создадите файл launch.json , чтобы настроить VS Code для запуска отладчика Microsoft C ++ при нажатии клавиши F5 для отладки программы. В главном меню выберите Выполнить > Добавить конфигурацию ... , а затем выберите C ++ (Windows) .

Затем вы увидите раскрывающийся список для различных предопределенных конфигураций отладки. Выберите сборку cl.exe и выполните отладку активного файла .

VS Code создает запуск .json , открывает его в редакторе, создает и запускает helloworld.

  {
  "версия": "0.2.0",
  "конфигурации": [
    {
      "name": "cl.exe построить и отладить активный файл",
      "тип": "cppvsdbg",
      "запрос": "запуск",
      "program": "$ {fileDirname} \\ $ {fileBasenameNoExtension} .exe",
      "аргументы": [],
      "stopAtEntry": ложь,
      "cwd": "$ {workspaceFolder}",
      "среда": [],
      "externalConsole": ложь,
      "preLaunchTask": "cl.EXE, активный файл сборки "
    }
  ]
}  

Программа Настройка указывает программу, которую нужно отлаживать. Здесь установлена ​​активная файловая папка $ {fileDirname} и активное имя файла с расширением .exe $ {fileBasenameNoExtension} .exe , которое, если helloworld.cpp является активным файлом, будет helloworld. exe .

По умолчанию расширение C ++ не добавляет точки останова в исходный код, а для значения stopAtEntry установлено значение false .Измените значение stopAtEntry на true , чтобы отладчик останавливался на основном методе при запуске отладки.

Начать сеанс отладки

  1. Вернитесь к helloworld.cpp , чтобы он стал активным файлом.
  2. Нажмите F5 или в главном меню выберите Выполнить> Начать отладку . Прежде чем приступить к пошаговому рассмотрению исходного кода, давайте заметим несколько изменений в пользовательском интерфейсе:
  • Интегрированный терминал появляется в нижней части редактора исходного кода.На вкладке Debug Output вы видите выходные данные, указывающие, что отладчик запущен и работает.

  • Редактор выделяет первый оператор в методе main . Это точка останова, которую расширение C ++ автоматически устанавливает для вас:

  • В представлении «Выполнить» слева отображается отладочная информация. Вы увидите пример позже в руководстве.

  • В верхней части редактора кода появляется панель управления отладкой.Вы можете перемещать его по экрану, хватая точки с левой стороны.

Введите код

Теперь вы готовы приступить к пошаговому выполнению кода.

  1. Щелкните или нажмите значок Step over на панели управления отладкой, пока не будет выделен оператор for (const string & word: msg) .

    Команда Step Over пропускает все внутренние вызовы функций в классах vector и string , которые вызываются при создании и инициализации переменной msg .Обратите внимание на изменение в окне переменных слева. В этом случае ожидаются ошибки, потому что, хотя имена переменных для цикла теперь видны отладчику, оператор еще не выполнен, поэтому читать здесь нечего. Однако содержимое сообщения msg видно, поскольку этот оператор завершен.

  2. Нажмите Перейдите по еще раз, чтобы перейти к следующему оператору в этой программе (пропуская весь внутренний код, который выполняется для инициализации цикла).Теперь в окне Variables отображается информация о переменных цикла.

  3. Нажмите Перейдите по еще раз, чтобы выполнить оператор cout . Примечание Начиная с версии расширения от марта 2019 года, выходные данные не отображаются до завершения цикла.

  4. Если хотите, можете продолжать нажимать Step over , пока все слова в векторе не будут напечатаны на консоли. Но если вам интересно, попробуйте нажать кнопку « Step Into », чтобы просмотреть исходный код в стандартной библиотеке C ++!

    Чтобы вернуться к собственному коду, один из способов - продолжать нажимать Шаг за .Другой способ - установить точку останова в коде, переключившись на вкладку helloworld.cpp в редакторе кода, поместив точку вставки где-нибудь в операторе cout внутри цикла и нажав F9. Красная точка появляется в желобе слева, чтобы указать, что на этой строке установлена ​​точка останова.

    Затем нажмите F5, чтобы начать выполнение с текущей строки в заголовке стандартной библиотеки. Исполнение остановится на cout . Если хотите, вы можете снова нажать F9, чтобы выключить точку останова.

Набор наручных

Иногда вам может понадобиться отслеживать значение переменной во время выполнения вашей программы. Вы можете сделать это, установив для переменной часы .

  1. Поместите точку вставки внутрь петли. В окне Watch щелкните знак «плюс» и в текстовом поле введите слово , которое является именем переменной цикла. Теперь просмотрите окно Watch по мере прохождения цикла.

  2. Добавьте еще одно наблюдение, добавив этот оператор перед циклом: int i = 0; .Затем внутри цикла добавьте этот оператор: ++ i; . Теперь добавьте часы для i , как вы это делали на предыдущем шаге.

  3. Чтобы быстро просмотреть значение любой переменной, когда выполнение приостановлено на точке останова, вы можете навести на нее указатель мыши.

Конфигурации C / C ++

Если вам нужен больший контроль над расширением C / C ++, вы можете создать файл c_cpp_properties.json , который позволит вам изменять такие настройки, как путь к компилятору, включать пути, стандарт C ++ (по умолчанию C ++ 17) и многое другое.

Пользовательский интерфейс конфигурации C / C ++ можно просмотреть, выполнив команду C / C ++: Edit Configurations (UI) из палитры команд (⇧⌘P (Windows, Linux Ctrl + Shift + P)).

Откроется страница Конфигурации C / C ++ . Когда вы вносите здесь изменения, VS Code записывает их в файл с именем c_cpp_properties.json в папке .vscode .

Visual Studio Code помещает эти параметры в .vscode \ c_cpp_properties.json . Если вы откроете этот файл напрямую, он должен выглядеть примерно так:

  {
  "конфигурации": [
    {
      "name": "Win32",
      "includePath": ["$ {workspaceFolder} / **"],
      "определяет": ["_DEBUG", "UNICODE", "_UNICODE"],
      "windowsSdkVersion": "10.0.18362.0",
      "compilerPath": "C: / Program Files (x86) / Microsoft Visual Studio / 2019 / BuildTools / VC / Tools / MSVC / 14.24.28314 / bin / Hostx64 / x64 / cl.exe",
      "cStandard": "c11",
      "cppStandard": "c ++ 17",
      "intelliSenseMode": "msvc-x64"
    }
  ],
  «версия»: 4
}  

Вам нужно только добавить к настройке массива Include path , если ваша программа включает файлы заголовков, которых нет в вашей рабочей области или в пути стандартной библиотеки.

Путь к компилятору

Параметр compilerPath является важным параметром в вашей конфигурации. Расширение использует его для определения пути к файлам заголовков стандартной библиотеки C ++. Когда расширение знает, где найти эти файлы, оно может предоставить полезные функции, такие как интеллектуальное завершение и навигацию Go to Definition .

Расширение C / C ++ пытается заполнить compilerPath местоположением компилятора по умолчанию в зависимости от того, что оно находит в вашей системе.Расширение ищет в нескольких распространенных местах компилятора.

Порядок поиска compilerPath :

  • Первая проверка компилятора Microsoft Visual C ++ Ope
  • Затем найдите g ++ в подсистеме Windows для Linux (WSL)
  • Затем g ++ для Mingw-w64.

Если у вас установлен g ++ или WSL, вам может потребоваться изменить compilerPath , чтобы он соответствовал предпочтительному компилятору для вашего проекта. Для Microsoft C ++ путь должен выглядеть примерно так, в зависимости от того, какая конкретная версия у вас установлена: «C: / Program Files (x86) / Microsoft Visual Studio / 2017 / BuildTools / VC / Tools / MSVC / 14.16.27023 / bin / Hostx64 / x64 / cl.exe ".

Повторное использование конфигурации C ++

VS Code теперь настроен на использование компилятора Microsoft C ++. Конфигурация применяется к текущему рабочему пространству. Чтобы повторно использовать конфигурацию, просто скопируйте файлы JSON в папку .vscode в новой папке проекта (рабочей области) и при необходимости измените имена исходного файла (ов) и исполняемого файла.

Поиск и устранение неисправностей

Термин cl.exe не распознается

Если вы видите ошибку "Термин" п.exe 'не распознается как имя командлета, функции, файла сценария или работающей программы. ", это обычно означает, что вы используете VS Code вне командной строки разработчика для Visual Studio , а VS Code не знает путь к компилятору cl.exe .

Вы всегда можете проверить, что вы используете VS Code в контексте командной строки разработчика, открыв новый терминал (⌃⇧` (Windows, Linux Ctrl + Shift + `)) и набрав 'cl' для проверки cl.exe доступен для VS Code.

Следующие шаги

19.02.2020

Программирование на C в Visual Studio

Да, это так, ни в одной из редакций Visual Stdio не упоминается C, но он включен в компилятор C ++ (поэтому вам нужно искать в C ++). Основное различие между использованием C и C ++ - это система именования (т.е. использование .c , а не .cpp ).

Вы должны быть осторожны, чтобы не создать проект C ++ и не переименовать его в C, хотя не работает .

Подобно тому, как вы можете использовать gcc в Linux (или если у вас установлен MinGW), Visual Studio имеет команду, которая будет использоваться из командной строки (хотя это должна быть командная строка разработчика Visual Studio). Как упоминалось в другом ответе, вы можете использовать cl для компиляции вашего файла c (убедитесь, что он называется .c )

Пример:

  cl myfile.c
  

Или проверить все принятые команды:

  C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Сообщество> cl
Оптимизирующий компилятор Microsoft (R) C / C ++ версии 19.16.27030.1 для x86
Авторское право (C) Корпорация Microsoft. Все права защищены.

использование: cl [option ...] filename ... [/ link linkoption ...]

C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Сообщество>
  

Без сомнения, одна из лучших особенностей Visual Studio - это удобная IDE.

Хотя настройка требует больше времени, вы получаете такие бонусы, как базовая отладка перед компиляцией (например, если вы забыли ; )

Для создания проекта C выполните следующие действия:

Начните новый проект, перейдите в C ++ и выберите Пустой проект , введите Имя вашего проекта и Местоположение , в которое вы хотите установить, затем щелкните Ok .Теперь дождитесь создания проекта.

Далее под Обозреватель решений щелкните правой кнопкой мыши Исходные файлы , выберите Добавьте , затем Новый элемент . Вы должны увидеть что-то вроде этого:

Переименуйте Source.cpp , чтобы включить расширение .c (например, Source.c ). Выберите место, в котором вы хотите сохранить его, я бы рекомендовал всегда хранить его в самой папке проекта (в данном случае C: \ Users \ Simon \ Desktop \ Learn \ My First C Code )

Должен открыться .c файл, готовый к изменению. Visual Studio теперь можно использовать как обычно, удачного кодирования!

Программирование на C в Visual Studio

Да, это так, ни в одной из редакций Visual Stdio не упоминается C, но он включен в компилятор C ++ (поэтому вам нужно искать в C ++). Основное различие между использованием C и C ++ - это система именования (т.е. использование .c , а не .cpp ).

Вы должны быть осторожны, чтобы не создать проект C ++ и не переименовать его в C, хотя не работает .

Подобно тому, как вы можете использовать gcc в Linux (или если у вас установлен MinGW), Visual Studio имеет команду, которая будет использоваться из командной строки (хотя это должна быть командная строка разработчика Visual Studio). Как упоминалось в другом ответе, вы можете использовать cl для компиляции вашего файла c (убедитесь, что он называется .c )

Пример:

  cl myfile.c
  

Или проверить все принятые команды:

  C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Сообщество> cl
Оптимизирующий компилятор Microsoft (R) C / C ++ версии 19.16.27030.1 для x86
Авторское право (C) Корпорация Microsoft. Все права защищены.

использование: cl [option ...] filename ... [/ link linkoption ...]

C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Сообщество>
  

Без сомнения, одна из лучших особенностей Visual Studio - это удобная IDE.

Хотя настройка требует больше времени, вы получаете такие бонусы, как базовая отладка перед компиляцией (например, если вы забыли ; )

Для создания проекта C выполните следующие действия:

Начните новый проект, перейдите в C ++ и выберите Пустой проект , введите Имя вашего проекта и Местоположение , в которое вы хотите установить, затем щелкните Ok .Теперь дождитесь создания проекта.

Далее под Обозреватель решений щелкните правой кнопкой мыши Исходные файлы , выберите Добавьте , затем Новый элемент . Вы должны увидеть что-то вроде этого:

Переименуйте Source.cpp , чтобы включить расширение .c (например, Source.c ). Выберите место, в котором вы хотите сохранить его, я бы рекомендовал всегда хранить его в самой папке проекта (в данном случае C: \ Users \ Simon \ Desktop \ Learn \ My First C Code )

Должен открыться .c файл, готовый к изменению. Visual Studio теперь можно использовать как обычно, удачного кодирования!

Строительные инструменты (CMake, MinGW, Visual Studio) - документация OpenCV 3.0

Что такое Microsoft Visual Studio?

Visual Studio - это IDE (интегрированная среда разработки), разработанная Microsoft. Он используется для разработки компьютерных программ для Windows. Существует бесплатная версия Visual Studio под названием «Visual Studio Express», которую мы и будем использовать здесь. Дополнительная информация о Microsoft Visual Studio доступна на специальной странице в Википедии.

Инструкции по установке

До 2012 года Microsoft Visual Studio была разделена на несколько «Express» (то есть бесплатных) версий, каждая из которых была ориентирована на один язык программирования: Visual C ++ Express, Visual C # Express, Visual Basic Express и т. Д.

С 2012 года выпуск Microsoft Visual Studo «Express» ориентирован на общий тип решения и может содержать несколько типов проектов. Например, веб-решение может состоять из проекта веб-приложения и пары проектов библиотеки классов C #.

Самыми последними версиями различных «экспресс-версий» Microsoft Visual Studio на момент написания являются следующие:

  • Visual Studio Express 2013 для Интернета
  • Visual Studio Express 2013 для Windows 8.1
  • Visual Studio Express 2013 для рабочего стола Windows
  • Visual Studio Team Foundation Server Экспресс 2013

В частности, может возникнуть некоторая путаница между версиями «Windows 8.1» и «Windows Desktop».Фактически, версия Windows 8.1 позволяет создавать приложения для Магазина Windows и Windows Phone, следовательно, с использованием нового интерфейса «Modern UI», представленного в Windows 8. Версия Windows Desktop, однако, позволяет создавать «классические» настольные приложения на C #, Visual Basic и C ++. Это тот, который мы будем использовать здесь.

В чем разница между Windows SDK, Visual Studio и MSVC? Microsoft Visual Studio - это IDE, то есть графическая среда, облегчающая разработку приложений.Windows SDK - это набор инструментов, используемых для фактической сборки программного обеспечения, предоставляющий инструменты, компиляторы, заголовки, библиотеки и образцы кода. Некоторые компоненты Windows SDK, но не все, также изначально включены в Microsoft Visual Studio. Наконец, MSVC - это просто сокращение от MicroSoft Visual C ++, которое было названием IDE до 2012 года. Кстати, SDK означает Software Development Kit, а IDE - Integrated Development Environment.

Здесь мы будем использовать только те компоненты Windows SDK, которые поставляются с Microsoft Visual Studio и которые будут установлены автоматически.

  1. Перейдите по адресу http://www.visualstudio.com/downloads и загрузите «Visual Studio Express 2013 для Windows Desktop ». Убедитесь, что вы не выбрали «Visual Studio Express 2013 для Windows», который не содержит тех же инструментов. Вам может быть предложено войти в систему с вашей учетной записью Microsoft, чтобы загрузить Microsoft Visual Studio. Если это еще не сделано, создайте учетную запись Microsoft и войдите в систему.

    Примечание

    Если вы студент, Microsoft предлагает вам бесплатно загрузить полную версию Visual Studio (называемую «Visual Studio Professional») через программу DreamSpark.Дополнительная информация и ссылки доступны на странице загрузки Visual Studio.

  2. Запустите только что загруженную программу и следуйте инструкциям. Он загрузит и установит Microsoft Visual Studio, Windows SDK и платформу Microsoft .NET на ваш компьютер. С помощью этого программного обеспечения вы сможете разрабатывать 32-битные и 64-битные приложения для Windows.

  3. Когда установка завершится (см. Рисунок ниже), запустите Microsoft Visual Studio Express 2013.При желании вы можете войти в свою учетную запись Microsoft, чтобы синхронизировать настройки на разных компьютерах.

Теперь вам будет полезно узнать номер версии вашего компилятора C / C ++ и установки Visual Studio / Visual C ++. Как объяснялось выше, компилятор Microsoft C / C ++ является частью Windows SDK и изначально включен в вашу установку Visual Studio. Точнее, путь по умолчанию, по которому вы найдете компилятор, - это C: \ Program Files (x86) \ Microsoft Visual Studio 12.0 \ VC \ bin . Компилятор - cl.exe . Существуют также другие программы, такие как компоновщик link.exe или реализация Microsoft инструмента make nmake.exe .

При установке библиотек, таких как Intel (c) TBB, вам необходимо знать, какая версия установлена ​​у вас Visual C ++, чтобы правильно связать предварительно созданные библиотеки. Действительно, такие библиотеки иногда создаются для разных версий компилятора Microsoft C / C ++, каждая из которых находится в отдельной папке (по крайней мере, для Intel (c) TBB).Когда вы запустите cl.exe без каких-либо параметров, вы увидите что-то вроде этого:

 Оптимизирующий компилятор Microsoft (R) C / C ++ версии 18.00.21005.1 для x86
 

, что означает номер версии компилятора 18.

Однако это , а не , этот номер версии, который будет использоваться в предварительно собранных пакетах. Это также не год выпуска вашей версии Visual Studio / Visual C ++. Собственно, здесь важно знать номер версии Visual C ++ / Visual Studio.Здесь вы можете догадаться, глядя на путь компилятора, что Visual Studio 2013 - это версия 12, но вот полное изображение (взято из http://en.wikipedia.org/wiki/Visual_C%2B%2B):

  • Visual C ++ 2005 = Visual C ++ 8.0 = vc8 = версия компилятора 14.
  • Visual C ++ 2008 = Visual C ++ 9.0 = vc9 = версия компилятора 15.
  • Visual C ++ 2010 = Visual C ++ 10.0 = vc10 = версия компилятора 16.
  • Visual C ++ 2012 = Visual C ++ 11.0 = vc11 = версия компилятора 17.
  • Visual C ++ 2013 = Visual C ++ 12.0 = vc12 = версия компилятора 18.

Итак, если вы установили Microsoft Visual Studio 2013, вы используете Visual C ++ 2013, то есть версию 12. Итак, посмотрите на папку vc12 при связывании готовых библиотек. Точно так же для Visual Studio 2010 кодовое имя - vc10 .

Параметры компилятора для Microsoft Visual C ++ 6.0

В этом разделе объясняется, как подготовить приложения, созданные с помощью Microsoft Visual C ++ 6.0 или более ранней версии для AQTime. Чтобы узнать, как подготовить приложения, созданные с помощью других компиляторов, см. Разделы ниже:

Чтобы подготовить приложение Visual C ++ для AQTime, необходимо убедиться, что оно включает отладочную информацию, и выбрать формат, в котором оно будет сгенерировано. Выполните следующие действия:

  1. Откройте свой проект в Visual Studio.

  2. Чтобы изменения не повлияли на конфигурацию версии выпуска, выполните следующие действия: Выберите «Сборка»> «Установить активную конфигурацию» в меню Visual C ++ и выберите другую конфигурацию, например «Отладка», в качестве активной конфигурации для проекта.Все изменения, внесенные в параметры компилятора, будут сохранены в этой конфигурации и не повлияют на конфигурацию выпуска. Обычно конфигурация отладки выглядит примерно так: <Имя_вашего_проекта> - Отладка Win32:

    Обратите внимание, что единственная причина для изменения активной конфигурации - оставить неизменной конфигурацию Release. Если вы хотите профилировать конфигурацию выпуска, вы можете пропустить этот шаг. В этом случае не забудьте восстановить настройки компилятора перед компиляцией релизной версии вашего приложения.

  3. Теперь откройте диалоговое окно Project Settings (нажмите Alt-F7 или используйте Project> Settings) и выберите конфигурацию, которую вы установили.

  4. В диалоговом окне откройте страницу C / C ++ и убедитесь, что для параметра Debug Info установлено значение Program Database или Program Database for Edit and Continue

    Дополнительные сведения об этих параметрах см. В справке Microsoft Visual C ++.

  5. Теперь вы настроили свой проект на создание отладочной информации при компиляции.Затем вы должны убедиться, что компоновщик сохранил его. В Project> Settings выберите страницу Link. Здесь сначала установите категорию «Общие». Затем установите флажок «Создать отладочную информацию» и снимите флажок «Включить профилирование»:

    .

    На странице «Ссылка» выберите «Отладка» в поле «Категория» и выполните следующие действия:

    • Установите флажок Информация об отладке.
    • Нажмите кнопку выбора формата Microsoft.
    • Также рекомендуется снять флажок «Раздельный тип» (отключение этого параметра желательно, но не обязательно).
  6. Последний шаг - установить, как компоновщик будет сохранять отладочную информацию. AQTime поддерживает отладочную информацию, созданную как внешний файл PDB (формат PDB). Чтобы установить параметры компоновщика:

    • Перейти на страницу ссылок в диалоговом окне «Параметры проекта»:
    • Установите категорию для настройки.
    • Установите флажок Использовать базу данных программы.
    • Введите желаемое имя PDB-файла в поле редактирования «Имя базы данных программы».

После того, как вы установили параметры компилятора и компоновщика, как описано выше, перестройте приложение, и оно будет готово к профилированию. Перед открытием приложения в AQTime убедитесь, что выходной каталог вашего приложения включает в себя файл .pdb, который вы создали. Кроме того, этот каталог должен содержать файл vcX0.pdb, где X - это основной номер версии компилятора Visual C ++, например для Visual C ++ 6.0 этот файл называется vc60.pdb. vcX0.pdb содержит часть отладочной информации вашего приложения, которая необходима для правильного профилирования всего приложения в AQTime. Если вы профилируете элемент управления ActiveX или COM-сервер, не забудьте зарегистрировать его «отладочную» версию в системе (см. Профилирование COM-приложений).

По умолчанию файл отладочной информации .pdb находится в той же папке, где находится профилированный исполняемый файл или DLL. Когда вы открываете свой модуль в AQTime, он ищет файл отладочной информации в этом месте по умолчанию.Если вы копируете файл отладочной информации в другое место, укажите это место в списке «Путь к символам» диалогового окна «Параметры символов» (этот список содержит пути поиска). См. Указание пути к файлам отладочной информации для получения дополнительной информации.

Когда ваше приложение будет готово к выпуску, не забудьте перекомпилировать его без отладочной информации, чтобы уменьшить размер приложения.

См. Также

Как профилировщики AQTime используют метаданные и отладочную информацию
Добавление пункта меню AQTime в Visual Studio 6.0 IDE

Создание нового проекта C в Microsoft Visual Studio

Этот документ предназначен для компиляции проектов с использованием C. Если вы хотите использовать C ++, см. Создание проекта Microsoft Visual Studio C ++ для вашего приложения c-tree .

Для компиляции программ C с помощью Microsoft Visual Studio у вас должен быть установлен компонент C ++. Это кажется нелогичным, но компонент C ++ включает как компилятор C, так и компилятор C ++.

Мастер создания проектов в современных версиях Microsoft Visual Studio не содержит шаблонов, которые явно создают проекты C - все шаблоны типа C указывают C ++ в качестве языка программирования (см. Следующий рисунок). Для создания нового проекта C. Требуется обходной путь. Обходной путь заключается в добавлении нового файла C ++ в ваш проект, но изменении расширения имени файла с .cpp на .c до того, как вы нажмете кнопку, которая фактически создает новый файл.

Этот обходной путь работает, потому что поведение Visual Studio по умолчанию заключается в компиляции файлов исходного кода, которые имеют расширение имени файла «.c» как C, и для компиляции файлов с расширением .cpp как C ++. Пока все имена файлов исходного кода оканчиваются на .c , Visual Studio будет использовать компилятор C (а не компилятор C ++) для их компиляции. Обратите внимание, что это поведение по умолчанию можно изменить для проекта, перейдя в окно Properties проекта и перейдя в Configuration Properties> C / C ++> Advanced , а затем изменив запись Compile As с Default на Compile. как код C (/ TC) .

На этом фоне шаги по созданию нового проекта c-treeDB в Visual Studio следующие:

  1. Создайте новый пустой проект.
  2. Добавьте к этому проекту новый файл .c.
  3. Добавьте в проект три файла библиотеки, предоставленной FairCom ( .lib ).
  4. Добавьте в проект зависимости для ws2_32.lib и crypt32.lib .
  5. Сообщите проекту, где он может найти файлы заголовков c-tree ( .h ).
  6. Отключить предварительно скомпилированные заголовки.
  7. Убедитесь, что ваш исходный код будет скомпилирован как C.
  8. Протестируйте свой новый проект.

Подробное описание этих шагов приведено ниже.

В этой главе

Шаг 1 - Создайте новый пустой проект

Шаг 2 - Добавьте новый файл .c в этот проект

Шаг 3 - Добавьте три библиотеки FairCom в проект

Шаг 4 - Добавьте зависимости для " ws2_32.lib "и" crypt32.lib "

Шаг 5 - Сообщите проекту, где он может найти файлы заголовков c-tree

Шаг 6 - Отключить предварительно скомпилированные заголовки

Шаг 7 - Убедитесь, что ваш исходный код будет скомпилирован как C

Шаг 8 - Протестируйте свой новый проект

Неполный список компиляторов C ++

Компиляторы C ++ Морган Стенли | Колумбийский университет | Черчилль-колледж, Кембридж дом | C ++ | Часто задаваемые вопросы | технический FAQ | публикации | Документы WG21 | TC ++ PL | Тур ++ | Программирование | D&E | биография | интервью | видео | Котировки | Приложения | методические рекомендации | составители

Изменено 28 апреля 2019 г.

Меня (Бьярна Страуструпа) часто просят порекомендовать компилятор C ++.Однако я не даю рекомендаций; это было бы слишком похоже на то, чтобы принять чью-то сторону в торговых войнах. Кроме того, я не знаю всех компиляторов C ++; просто слишком много "там".

Я рекомендую людям очень серьезно относиться к соответствию стандартам, когда учитывая компилятор. Если можете, избегайте компиляторов, которые приблизиться к стандарту ISO или не может обеспечить надежную реализацию стандартная библиотека. Последние выпуски от всех основных поставщиков C ++ делают это.

Большинство этих компиляторов встроены в фреймворки разработки программного обеспечения. инструменты и библиотеки. Эти фреймворки, среды и библиотеки можно наиболее полезны, но помните, что их использование может привязать вас к одному поставщику и что некоторые применения имеют значительные последствия для производительности во время выполнения.

При поиске C ++ в Интернете вы обнаружите, что большая часть информации «спрятаны» под разными названиями продуктов. На самом деле мне повезло больше найти Компиляторы C ++ с использованием Google.com, чем обращаясь непосредственно к поставщикам, которых я знал продал их. Здесь я выбрал C ++ реализации просто по имени их поставщика, игнорируя маркетинг этикетки.

Некоторые компиляторы, которые можно скачать бесплатно (обязательно проверьте их условия / лицензии перед попыткой коммерческого использования):

Некоторые компиляторы требуют оплаты (некоторые разрешают бесплатную загрузку для испытательные периоды):

Я не могу поддерживать этот список в полном объеме и в актуальном состоянии.Мир C ++ слишком велик, и происходит слишком много нового. Приношу свои извинения тем поставщикам, которых я не перечислил, я знаю, что есть некоторые, и, пожалуйста, если у вас есть ссылка, которую, по вашему мнению, следует разместить здесь, отправьте мне сообщение: bs at cs dot tamu dot edu. Опять же: я просто перечисляю компиляторы, я их не поддерживаю. Кроме того, не может быть компилятора, который лучше всего подходил бы для всех и для нужд людей. слишком сильно различаются для этого.

Другие списки компиляторов C ++:

Фильтр для улучшения сообщений об ошибках от многих компиляторов см. STLfilt.

Морган Стенли | Колумбийский университет | Черчилль-колледж, Кембридж дом | C ++ | Часто задаваемые вопросы | технический FAQ | публикации | Документы WG21 | TC ++ PL | Тур ++ | Программирование | D&E | биография | интервью | видео | Котировки | Приложения | методические рекомендации | составители .