Пошаговое руководство. Компиляция программы на языке C из командной строки
Средства сборки Visual Studio включают компилятор C, который можно использовать для создания всех базовых консольных программ до полных классических приложений Windows, мобильных приложений и т. д. Microsoft C/C++ (MSVC) — это компилятор C и C++, который в последних версиях соответствует некоторым из последних языковых стандартов C, включая C11 и C17.
В этом пошаговом руководстве показано, как создать простейшую программу на языке C в стиле «Hello, World» в текстовом редакторе с последующей компиляцией из командной строки. Если вы хотите работать в C++ в командной строке, см . пошаговое руководство. Компиляция собственной программы C++ в командной строке. Если вы хотите попробовать интегрированную среду разработки Visual Studio вместо использования командной строки, см . пошаговое руководство. Работа с проектами и решениями (C++) или использование интегрированной среды разработки Visual Studio для классических приложений C++.
Необходимые компоненты
Для выполнения этого пошагового руководства необходимо установить Visual Studio или средства сборки для Visual Studio и дополнительную разработку классических приложений с помощью рабочей нагрузки C++.
Visual Studio — это эффективная интегрированная среда разработки, которая поддерживает полнофункциональный редактор, диспетчеры ресурсов, отладчики и компиляторы для многих языков и платформ. Сведения об этих компонентах, а также о скачивании и установке Visual Studio, включая бесплатный выпуск Visual Studio Community, см. в этой статье.
При использовании версии Build Tools для Visual Studio устанавливаются только программы командной строки, библиотеки и компиляторы, необходимые для сборки программ на C и C++. Это идеальный вариант для создания заданий и упражнений, а установка выполняется относительно быстро. Чтобы установить только набор программ командной строки, скачайте Build Tools для Visual Studio на странице скачивания Visual Studio, а затем запустите установщик. В установщике Visual Studio выберите рабочую нагрузку C++ (в более ранних версиях Visual Studio выберите рабочую нагрузку средств сборки C++ и нажмите кнопку «Установить«.
При установке средств в командной строке используется другое средство, используемое для создания программы C или C++. MSVC имеет сложные требования к среде командной строки для поиска инструментов, заголовков и библиотек, которые он использует. Невозможно использовать MSVC в обычном окне командной строки без некоторой подготовки. Вам понадобится окно командной строки разработчика, являющееся обычным окном командной строки, в котором заданы все необходимые переменные среды. К счастью, Visual Studio устанавливает сочетания клавиш для запуска командных строк разработчика, имеющих среду, настроенную для сборок командной строки. К сожалению, имена сочетаний клавиш командной строки разработчика и их расположение отличаются практически в каждой версии Visual Studio и в разных версиях Windows. Первая задача пошагового руководства — найти нужный ярлык.
Ярлык командной строки разработчика автоматически задает правильные пути для компилятора и средств, а также для всех необходимых заголовков и библиотек. Некоторые из этих значений различаются для каждой конфигурации сборки. Если вы не используете ни один из ярлыков, эти значения среды необходимо задать самостоятельно. Дополнительные сведения см. в статье Использование набора инструментов MSVC из командной строки. Так как настраивать среду разработки сложно, настоятельно рекомендуется использовать ярлык командной строки разработчика вместо создания собственного.
Эти инструкции зависят от используемой версии Visual Studio. Чтобы ознакомиться с документацией по предпочтительной версии Visual Studio, используйте селектор Версия. Он находится в верхней части оглавления на этой странице.
Открытие командной строки разработчика в Visual Studio 2022
Если вы установили Visual Studio 2022 в Windows 10 или более поздней версии, откройте меню «Пуск» и выберите Все приложения. Прокрутите вниз и откройте папку Visual Studio 2022 (не приложение Visual Studio 2022). Выберите элемент Командная строка разработчика для VS 2022, чтобы открыть окно командной строки.
Открытие командной строки разработчика в Visual Studio 2019
Если вы установили Visual Studio 2019 в Windows 10 или более поздней версии, откройте меню «Пуск» и выберите Все приложения. Прокрутите вниз и откройте папку Visual Studio 2019 (не приложение Visual Studio 2019). Выберите элемент Командная строка разработчика для VS 2019, чтобы открыть окно командной строки.
Открытие командной строки разработчика в Visual Studio 2017
Если вы установили Visual Studio 2017 в Windows 10 или более поздней версии, откройте меню «Пуск» и выберите Все приложения. Прокрутите вниз и откройте папку Visual Studio 2017 (не приложение Visual Studio 2017). Выберите элемент Командная строка разработчика для VS 2017, чтобы открыть окно командной строки.
Открытие командной строки разработчика в Visual Studio 2015
Если вы установили Microsoft Visual C++ Build Tools 2015 в Windows 10 или более поздней версии, откройте меню «Пуск» и выберите Все приложения. Прокрутите вниз и откройте папку Microsoft Visual C++ Build Tools. Выберите элемент Командная строка Native Tools x86 Visual C++ 2015, чтобы открыть окно командной строки.
Если вы используете другую версию Windows, найдите в меню «Пуск» или на начальной странице папку средств Visual Studio, содержащую ярлык командной строки разработчика. Можно также ввести «командная строка разработчика» в строке поиска в Windows и выбрать командную строку, которая соответствует установленной версии Visual Studio. Откройте окно командной строки с помощью ярлыка.
Затем убедитесь, что командная строка разработчика настроена правильно. В окне командной строки введите cl (или CL , регистр не имеет значения для имени компилятора, но имеет значение для параметров компилятора). Результат должен выглядеть следующим образом.
C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise>cl Microsoft (R) C/C++ Optimizing Compiler Version 19.10.25017 for x86 Copyright (C) Microsoft Corporation. All rights reserved. usage: cl [ option. ] filename. [ /link linkoption. ]
В зависимости от версии Visual Studio и установленных обновлений могут быть различия в текущем каталоге или номерах версий. Если приведенный выше результат похож на отображаемый, можно приступать к сборке программ C или C++ в командной строке.
Если вы получаете ошибку, например «cl», не распознается как внутренняя или внешняя команда, операблная программа или пакетный файл», ошибка C1034 или ошибка LNK1104 при выполнении команды cl, то при установке Visual Studio вы не используете командную строку разработчика или что-то не так. Для продолжения нужно будет исправить ошибку.
Если вы не можете найти ярлык командной строки разработчика или сообщение об ошибке при вводе cl , может возникнуть проблема с установкой Visual Studio. При использовании Visual Studio 2017 или более поздней версии попробуйте переустановить рабочую нагрузку Разработка классических приложений на C++ с помощью установщика Visual Studio. Подробные сведения см. в статье Справка по установке средства С++ в Visual Studio. Можно также переустановить Build Tools со страницы Загрузки Visual Studio. Не переходите к следующему разделу, пока команда cl не сработает. Дополнительные сведения об установке Visual Studio и устранении неполадок см. в статье Установка Visual Studio.
В зависимости от версии Windows, установленной на компьютере, и конфигурации системы безопасности может потребоваться правой кнопкой мыши открыть контекстное меню для ярлыка командной строки разработчика и выбрать пункт Запуск от имени администратора, чтобы успешно выполнить сборку и запуск программы, созданной в этом пошаговом руководстве.
Создание файла исходного кода на языке C и его компиляция из командной строки
- В окне командной строки разработчика введите команду cd c:\ , чтобы изменить текущий рабочий каталог на корень диска C:. Затем введите md c:\hello , чтобы создать каталог, и введите cd c:\hello , чтобы перейти к этому каталогу. В этом каталоге будут находиться исходный файл и скомпилированная программа.
- В командной строке разработчика введите команду notepad hello.c . В появившемся диалоговом окне блокнота с оповещением выберите Да, чтобы создать файл hello.c в рабочей папке.
- В окне блокнота введите следующие строки кода:
#include int main()
C:\hello>dir Volume in drive C has no label. Volume Serial Number is CC62-6545 Directory of C:\hello 10/02/2017 03:46 PM . 10/02/2017 03:46 PM .. 10/02/2017 03:36 PM 143 hello.c 1 File(s) 143 bytes 2 Dir(s) 514,900,566,016 bytes free
c:\hello>cl hello.c Microsoft (R) C/C++ Optimizing Compiler Version 19.10.25017 for x86 Copyright (C) Microsoft Corporation. All rights reserved. hello.c Microsoft (R) Incremental Linker Version 14.10.25017.0 Copyright (C) Microsoft Corporation. All rights reserved. /out:hello.exe hello.obj
Примечание. Если вы получаете сообщение об ошибке, например «cl не распознается как внутренняя или внешняя команда, исполняемая программа или пакетный файл», ошибке C1034 или LNK1104, командная строка разработчика настроена неправильно. Чтобы получить сведения о том, как устранить эту проблему, вернитесь к разделу Открыть командную строку разработчика. Если вы получаете другое сообщение об ошибке или предупреждение компилятора или компоновщика, проверьте исходный код, исправьте ошибки, сохраните его и снова запустите компилятор. Для получения сведений о конкретных ошибках введите номер ошибки в поле поиска вверху этой страницы.
Hello, World! This is a native C program compiled on the command line.
Следующие шаги
Этот пример Hello, World является самой простой программой C. Реальные программы выполняют полезные действия и имеют файлы заголовков, дополнительные исходные файлы и ссылки на библиотеки.
Вы можете использовать шаги, описанные в этом пошаговом руководстве для C, для создания собственного кода, чтобы не вводить приведенный пример. Вы также можете выполнить сборку различных примеров кода на C, которые можно найти в других местах. Чтобы скомпилировать программу с большими файлами исходного кода, введите их все в командной строке:
cl file1.c file2.c file3.c
Компилятор выводит программу с именем file1.exe . Чтобы изменить имя program1.exe , добавьте параметр компоновщика /out :
cl file1.c file2.c file3.c /link /out:program1.exe
Чтобы автоматически перехватывать другие ошибки программирования, рекомендуется выполнить компиляцию с помощью порога предупреждений /W3 или /W4:
cl /W4 file1.c file2.c file3.c /link /out:program1.exe
Компилятор cl.exe имеет множество других параметров, которые можно применять для создания, оптимизации, отладки и анализа кода. Чтобы просмотреть краткий список, введите cl /? в командной строке разработчика. Можно также выполнять компиляцию и компоновку отдельно и применять параметры компоновщика в более сложных сценариях сборки. Дополнительные сведения о параметрах и использовании компилятора и компоновщика см. в справочнике по сборке для C/C++.
Для настройки и создания более сложных проектов в командной строке можно использовать NMAKE и файлы makefile либо MSBuild и файлы проекта. Дополнительные сведения об использовании этих средств см. в разделах Справочник по NMAKE и MSBuild.
Языки C и C++ похожи, но имеют различия. Компилятор Microsoft C/C++ (MSVC) использует простое правило для определения языка, используемого при компиляции кода. По умолчанию компилятор MSVC рассматривает все файлы с расширением .c как исходные коды на языке С, а файлы с расширением .cpp как исходные коды на языке С++. Если указан параметр компилятора /TC, компилятор будет рассматривать все файлы как исходные коды на языке С вне зависимости от расширения.
По умолчанию MSVC совместима со стандартами ANSI C89 и ISO C99, но не строго соответствует. В большинстве случаев переносимый код на языке C будет компилироваться и выполняться должным образом. Компилятор обеспечивает дополнительную поддержку изменений в ISO C11/C17. Чтобы выполнить компиляцию с поддержкой C11/C17, используйте флаг компилятора /std:c11 или /std:c17 . Для поддержки C11 и C17 требуется Windows SDK 10.0.20201.0 или более поздняя версия. Рекомендуется использовать Windows SDK 10.0.22000.0 или более позднюю версию. Последнюю версию пакета можно скачать на странице Windows SDK. Дополнительные сведения и инструкции по установке и использованию этого пакета SDK для разработки на языке C см. в статье Установка поддержки C11 и C17 в Visual Studio.
Некоторые функции библиотеки и имена функций POSIX являются нерекомендуемыми в компиляторе MSVC. Функции поддерживаются, но предпочтительные имена изменились. Дополнительные сведения см. в статьях Функции безопасности в CRT и Предупреждение компилятора (уровень 3) C4996.
Программа должна запускаться через командную строку
Программа должна запускаться через командную строку и адекватно функционировать,но почему-то у меня только надпись в консоли появляется «Enter a string».После ввода строки программа ничего не выводит,а снова просит указать путь к файлу. Как решить данную проблему? Задание звучит так: Разработать программу, получающую строки, разделенные пробелами, как параметры командной строки, обрабатывает их функцией, и выводит результат в виде таблицы, содержащей исходную строку, обработанную строку и возвращенное значение функции (если есть). В случае, когда параметр командной строки указан /? или -?, программа должна вывести краткую информацию о назначении и вариантах использования Если программа запущена без параметров, необходимо запросить одну строку у пользователя. P.S: Уже разобрался
#include #include int output_table(int argc, char* argv[]); int antisn(char* string); int read_line(char string[], int n); int main(int argc, char* argv[]) < output_table(argc, argv); return 0; >int read_line(char string[], int n) < int ch, i = 0; while ((ch = getchar()) != '\n') if (i < n) string[i++] = ch; string[i] = '\0'; return i; >// Замена подстрок на *** во введенной строке int antisn(char* string) < int i = 0; const char* wfb = "www.facebook.com"; const char* vk = "vk.com"; const char* fb = "facebook.com"; const char* wvk = "www.vk.com"; const char* zamena = "***"; for (;;) < char* p = strstr(string, wfb); if (p != NULL) < memcpy(p, zamena, strlen(zamena)); memmove(p + strlen(zamena), p + strlen(wfb), strlen(p + strlen(wfb)) + 1); i++; >char* r = strstr(string, wvk); if (r != NULL) < memcpy(r, zamena, strlen(zamena)); memmove(r + strlen(zamena), r + strlen(wvk), strlen(r + strlen(wvk)) + 1); i++; >char* k = strstr(string, vk); if (k != NULL) < memcpy(k, zamena, strlen(zamena)); memmove(k + strlen(zamena), k + strlen(vk), strlen(k + strlen(vk)) + 1); i++; >char* q = strstr(string, fb); if (q != NULL) < memcpy(q, zamena, strlen(zamena)); memmove(q + strlen(zamena), q + strlen(fb), strlen(q + strlen(fb)) + 1); i++; >if (p == NULL && q == NULL && k == NULL && r == NULL) return i; > > int output_table(int argc, char* argv[]) < char string[400]; int result = 0; if (argc == 1) < printf("\nEnter a string:"); read_line(string, 400); result = antisn(&string[0]); printf("\n| %15s | %15s |\n", string, result); >else if (!strcmp(argv[1], "/?") || !strcmp(argv[1], "-?")) < printf("This program is designed to replace substrings"); printf("vk.com\nwww.vk.com\nfacebook.com\nwww.facebook.com"); printf("In the entered text on ***"); printf("You enter any text that contains the above substrings and watch how they turn into ***"); >else < int i = 1; while (i < argc) < result = antisn(argv[i]); printf("| %15s | %15s |\n", argv[i], result); i++; >> >
Отслеживать
задан 1 июн 2022 в 16:13
27 4 4 бронзовых знака
Так а в чем проблема? Ваша программа работает, после вывода Enter a string , она ожидает ввода строки
1 июн 2022 в 17:19
Проблема в том что когда я указываю путь к файлу в строке,выводится Enter a string,ввожу строку,а дальше ничего не происходит,снова просит указать путь к файлу и так по кругу,а в самом фале показывает ошибку С6067 в обеих printf функции output_table
1 июн 2022 в 17:23
Задание звучит так: Разработать программу, получающую строки, разделенные пробелами, как параметры командной строки, обрабатывает их функцией, и выводит результат в виде таблицы, содержащей исходную строку, обработанную строку и возвращенное значение функции (если есть). В случае, когда параметр командной строки указан /? или -?, программа должна вывести краткую информацию о назначении и вариантах использования Если программа запущена без параметров, необходимо запросить одну строку у пользователя.
Как запустить программу с параметрами командной строки

Пользователи операционной системы Windows привыкли запускать все программы путем двойного нажатия левой кнопкой мыши по их иконкам. Однако мало кто знает, что это же действие можно произвести в системной консоли. В этой статье будет рассказано о том, как запустить программу c через командную строку. Всего рассмотрим три способа. А в конце предоставим метод, позволяющий запускать программу через ярлык, но с консольными параметрами.
Как запустить программу из командной строки?
Сразу стоит сказать, что все нижеописанные методы в большинстве своем схожи. Однако командная строка – это специфический инструмент, и в зависимости от того, какие атрибуты вы будете использовать для открытия приложения, будут меняться свойства последнего.
Способ 1: запуск системного приложения
Первым делом расскажем, как запустить программу из командной строки, если она системная. Пожалуй, это самый простой метод, так как для его выполнения потребуется знать всего одну команду – start. Ну и, конечно же, название самого приложения. Ниже будут перечислены самые популярные системные программы:
Командная строка (при запуске откроется второе окно)
По итогу для запуска определенной программы вам необходимо написать слово start и ввести ее название через пробел. На практике это выглядит следующим образом:
Способ 2: указать полный путь к файлу
К сожалению, запустить программу от стороннего разработчика предыдущим способом не получится, но есть другой метод. Заключается он во вводе полного пути к исполняемому файлу. Например, у вас на системном диске C лежит установщик какой-то программы с названием install.exe. Чтобы его запустить, потребуется ввести следующую команду:

Соответственно, если файл будет находиться в другой папке, то в строке нужно ввести все директории, которые следуют до файла. К слову, очень важно, чтобы в названии папок не было пробелов. В противном случае появится ошибка. Устранить ее довольно просто – нужно взять весь путь в кавычки. Например:
Читайте также: Как обновить 2гис на компьютер
Способ 3: используя path
Третий способ, как запустить программу из командной строки, подразумевает использование команды patch. Ее суть заключается в запоминании указанной директории. То есть вам необходимо ввести адрес не к самому файлу, а к папке, где он находится. Например, нужно открыть Total Commander, который находится по следующему адресу:
Тогда в консоли введите следующую команду:
Командная строка запомнит директорию, которую вы указали, и будет запускать все файлы из нее, если вы введете их название. Таким образом для запуска Total Commander останется лишь написать его название:

Как запустить программу с параметрами командной строки?
Теперь перейдем непосредственно к тому, как запустить приложение с консольными параметрами. К слову, делается это достаточно просто, даже командную строку открывать не придется – все выполняется в свойствах ярлыка.
- Нажмите ПКМ по ярлыку программы.
- Выберите пункт «Свойства».
- Перейдите на вкладку «Ярлык».
- В поле «Объект» допишите нужный параметр после кавычек.
- Нажмите применить и закройте окно.

Теперь программа будет запускаться с указанным параметром, вам всего лишь нужно дважды кликнуть по ее ярлыку. Вот мы и рассмотрели все способы, как можно запустить программу из командной строки. Ну а каким именно пользоваться – решать только вам.
Нередко для разнообразных программ приходится указывать специальные параметры командной строки, которые должны активироваться при ее запуске. К примеру, в программе QIP, чтобы не надоедала лишними сервисами, в параметрах необходимо указать ключ “/isolated”. Как это сделать?
Кстати данный ключ в QIP лично я использую всегда – он превращает программу в тот старый добрый QIP, каким он был когда-то, без толпы надоедливых сервисов и всякой дряни. Остается лишь сама “аська”.
Ну да мы отвлеклись. Запустить программу с параметрами командной строки несложно. Для этого нужно сначала создать ее ярлык на рабочем столе либо в панели задач.
Читайте также: Форматы фотобумаги для печати
Щелкните на значке программы в папке Program Files либо в списке Все программы правой кнопкой мыши и выберите команду Отправить > Рабочий стол (создать ярлык).

Ярлык появится на рабочем столе. Щелкните на нем правой кнопкой мыши и выберите команду Свойства. Откроется окно, в котором нас интересует поле Объект. Именно в нем, после кавычек, и следует дописать нужную нам команду. В данном случае – ключ “/isolated”.

Однако, сей способ кажется мне несколько трудоемким. Создать ярлык, потом прописывать параметры… не проще ли получить возможность сразу запустить любую программу, указав в контекстном меню нужные параметры командной строки? Другими словами, просто щелкнул правой кнопкой мыши на файле, указал нужные параметры и дело в шляпе.
Поможет нам в этом программа ExecParm.
Параметры командной строки с ExecParm
Для начала скачаем программу, для системы нужной разрядности.
Скачем обычный архив, распаковать который можно куда угодно. В нем будет всего три файла – ExecParm.txt, Execparm.dll и Execparm.inf.
А где же исполняемый файл, спросите вы, как установить-то? Очень просто. Достаточно щелкнуть на файле Execparm.inf правой кнопкой мыши и выбрать команду Установить.

В сущности, таким образом в системный реестр просто добавиться несколько записей. Теперь достаточно щелкнуть на исполняемом файле программы правой кнопкой мыши и выбрать команду Execute With Parameters (т.е. запустить с параметрами командной строки).
Осталось указать необходимые параметры и щелкнуть на кнопке ОК. Возможно, это способ понравится кому-то больше, чем первый, более традиционный, вариант.
На этой странице вы найдете детальную инструкцию по запуску игры параметрами, ключами запуска. «Зачем это нужно?» — спросите вы. Чтобы ответить на этот вопрос необходимо рассказать что такое параметры, ключи запуска и на что они могут влиять. При запуске игры с указанием параметров вы активируете скрытые возможности, которые в большинстве случаев нельзя включить каким-либо другим путем. Следует также сказать, что каждая игра имеет свои индивидуальные ключи запуска, не зная о которых вы не сможете что-то активировать.
Читайте также: Хорошая незамерзайка без запаха отзывы
И так, что необходимо сделать, чтобы запустить игру с параметром? Сразу следует сказать, что запустить игры вместе с параметрами, ключами запуска, можно только через ярлык или командную строку, но так как через ярлык это сделать проще, то второй метод здесь рассмотрен не будет.
Создание ярлыка игры
Прежде чем создать ярлык игры, необходимо найти файл, который отвечает ее запуск. Все эти файлы имеют расширение exe, то есть значок запуска игры будет иметь следующий формат имени: название.exe Следует также сказать, что расширение exe может быть скрытым (не отображаться). Необходимый файл запуска находится в месте, которое вы указали во время установки — это может быть следующий путь:
C: Program Files название_игры название_название.exe
И так, необходимый файл вы нашли. Теперь создадим ярлык игры на рабочем столе. Создать ярлык можно несколькими методами — используйте какой-то один.
- Кликните правой клавишей мыши по значку. Найдите пункт Отправить — Рабочий стол (создать ярлык).
- Зажмите на клавиатуре комбинацию клавиш [Ctrl] + [Shift] и перетащите значок на рабочий стол.
- Зажмите на клавиатуре клавишу [Alt] и перетащите значок на рабочий стол.
Добавление параметров запуска к ярлыку игры
Ярлык создан и можно добавлять параметры запуска игры. Для этого кликните правой клавишей мыши по созданному ярлыку на Рабочем столе и выберите пункт Свойства. Перед вами появится окно в котором вам понадобиться отредактировать только одно поле с названием Объект.
Для того чтобы запустить игру с параметрами (ключами) их необходимо дописать в конце поля Объект через пробел. Сразу следует сказать, что параметров запуска может быть больше одного и все они записываются в следующем формате в конце поля Объект через пробел:
-параметр_1 -параметр_2 -параметр_3
Как запустить программу c через командную строку
Компилятор gcc для программирования на языке Си: запуск кода

Компилятор gcc распространяется по лицензии GNU, Фондом свободного программного обеспечения, для nix-подобных ОС и является C\C++ компилятором, который управляется с помощью командной строки. gcc распространяется с nix системами, так что если вы работаете в ОС Unix или Linux, скорее всего в вашей системе уже установлен gcc.
Чтобы запустить исходный код, с помощью компилятора gcc, просто введите в терминале (командной строке) следующую команду:
После того, как исходный файл будет скомпилирован в исполняемый, на выходе мы получим файл с именем a и расширением *.out — a.out , который можно будет запустить с помощью команды
Перед запуском gcc можно указать в командной строке имя исполняемого файла, который получим на выходе. Для этого необходимо установить параметр -o и присвоить нужное имя файла.
Полностью команда будет выглядеть так:
Опять же, вы можете запустить программу с помощью команды ./outputfile . (Точка и слэш ./ перед именем файла используются для указания текущего каталога.)
Чтобы отображались все предупреждения, необходимо использовать флаг:
Чтобы быть уверенными, что компилятор действительно поддерживает стандарты ANSI, используем флаг:
Если вы хотите, чтобы компилятор рассматривал предупреждения как ошибки, используйте флаг -Werror . В таком случае, если возникнет хотя бы одно предупреждение, вы не получите исполняемый файл.
Если вы хотите, отлаживать исполняемый файл в отладчике GDB, включайте в команду флаг -g .
Это позволит отладчику GDB, дать вам подробную информацию о процессе отладки, в том числе дополнительный код в исполняемый файл.
Математическая библиотека
Если вам нужно использовать функции из математической библиотеки (как правило, функции из заголовочного файла math.h , таких как sin или sqrt ), необходимо явно указать этот файл. Чтобы привязать библиотеку используется флаг -l , после указывается флаг библиотеки m :
Обратите внимание, что в C++ не надо использовать этот флаг.
Если вы используете *nix-подобные системы, вы также можете проверить другие опции компилятора gcc, введя в командную строку следующую команду:
руководство (на английском) к компилятору gcc, или
руководство (на русском) к компилятору gcc.
Создание разделяемых библиотек
Если вы хотите узнать, как создать разделяемую библиотеку в Linux с gcc, прочитайте статью: как создать разделяемую библиотеку на Linux с помощью gcc.
Как запустить программу c через командную строку
Создадим первую программу на языке C#. Что для этого нужно? Прежде всего для написания кода программы нам понадобится текстовый редактор. В принципе можно выбрать любой понравившийся текстовый редактор, например, встроенный в Windows по умолчанию блокнот. Но я в данном случае буду ориентироваться на более изощренный текстовый редактор Vindows Studio Code . Данный текстовый редактор доступен для всех основных операционных систем: Windows, MacOS, Linux. Он доступен по ссылке загрузить Visual Studio Code

Второй необходимый компонент для создания программ — компилятор. Для компиляции, построения, запуска и ряда других задач Microsoft предоставляет набор инструментов, который называется .NET SDK . Загрузим его со страницы https://dotnet.microsoft.com/en-us/download.

На странице https://dotnet.microsoft.com/en-us/download/dotnet/7.0 при необходимости можно найти все возможные варианты SDK под различные архитектуры и системы.
После загрузки запустим установщик .NET SDK:


И после установки .NET SDK мы можем начать свою славную поступь в прекрасный мир программирования на C#.
Создадим первый проект. Для этого определим какую-нибудь новую папку для проекта. Например, пусть мы создали для проекта папку C:\dotnet\helloapp . Откроем терминал/командную строку и с помощью команды cd перейдем к этой папке.
Для создания проекта в .NET CLI применяется команда dotnet new , которой передается тип проекта. Мы будем создавать консольное приложение, поэтому будем использовать тип console . Итак, в введем в терминале следующую команду:
В данном случае мы указываем, что создаваемый проект будет представлять консольное приложение.

После выполнения этой команды в папке helloapp будет создан проект с минимальным набором стандартных файлов и папок.

В частности, мы можем найти в папке проекта файл helloapp.csproj . Это главный файл проекта, который определяет его конфигурацию. Мы можем открыть его в любом текстовом редакторе, просмотреть и при необходимости изменить.
И, кроме того, по умолчанию создается главный файл программы Program.cs со следующим содержимым:
Соответственно, если нам надо внести изменения в исходный код программы, то мы будем изменять содержимое именно этого файла.
В принципе этот минимальный проект уже можно запускать. Для запуска проекта введем в командной строке следующую команду:

После выполнения команды в проекте в папке bin\Debug\net7.0 появятся файлы программы helloapp.dll и helloapp.exe, которыr можно вручную запустить на компьютере, где установлен .NET 7.

Теперь изменим весь код программы. Для этого откроем файл Program.cs в каком-нибудь текстовом редакторе и изменим его код на следующий:

По сравнению с автоматически сгенерированным кодом я внес несколько изменений. Теперь первой строкой выводится приглашение к вводу.
Метод Console.Write() выводит на консоль некоторую строка. В данном случае это строка «Введите свое имя: «.
На второй строке определяется строковая переменная name, в которую пользователь вводит информацию с консоли:
Ключевое слово var указывает на определение переменной. В данном случае переменная называется name . И ей присваивается результат метода Console.ReadLine() , который позволяет считать с консоли введенную строку. То есть мы введем в консоли строку (точнее имя), и эта строка окажется в переменой name .
Затем введенное имя выводится на консоль:
Чтобы ввести значение переменной name внутрь выводимой на консоль строки, применяются фигурные скобки <>. То есть при выводе строки на консоль выражение будет заменяться на значение переменной name — введенное имя.
Однако чтобы можно было вводить таким образом значения переменных внутрь строки, перед строкой указывается знак доллара $.
Как запустить программу через командную строку?

Запустить через командную строку
Нужно запустить программу free pascal через командную строку(КС). Программа выполняет чтение из.

Запустить файл через командную строку
$ f77 sur2012.f -o sur2012.ex $ ls sur2012.ex sur2012.f $ sur2012.ex sur2012.ex: Command not.
Сообщение от crower
Откройту командную строку (Win+R -> cmd -> Enter), перейдите в папку с вашей программой (cd c:\path\to\program), пропишите имя программы и нажмите Enter.
Если у вас открыт проводник в папке с программой, то shift+правоклик и в меню выберите «Открыть командную строку здесь».
Есть задача. Нужно запустить её через командную строку
Люди, подскажите что нужно добавить/вписать в задачке, чтобы при открытии её в командной строке она.

Запустить программу из своей программы и прочитать ее вывод в командную строку
Вопрос должен быть простым, но нигде не могу найти ответ. Функция system этого не позволяет. Есть.
Как открыть программу, зная ее адрес через командную строку с использованием winapi?
Как открыть программу, зная ее адрес через командную строку с использованием winapi? Т.е.

Не получается запустить mysqld через командную строку ( —initialize-insecure —user=root)
Пытаюсь сделать хост по гайду, чтобы избежать неточностей/несовместимостей скачал пак по ссылке.
Компилятор csc.exe

В действительности необходимость в создании крупных приложений с использованием одного лишь компилятора командной строки C# может никогда не возникнуть, тем не менее, важно понимать в общем, как вручную компилировать файлы кода. Существует несколько причин, по которым освоение этого процесса может оказаться полезным:
Самой очевидной причиной является отсутствие Visual Studio 2010 или какой-то другой графической IDE-среды.
Работа может выполняться в университете, где использование инструментов для генерации кода и IDE-сред обычно запрещено.
Планируется применение автоматизированных средств разработки, таких как msbuild.exe, которые требуют знать опции командной строки для используемых инструментов.
Возникло желание углубить свои познания в C#. В графических IDE-средах в конечном итоге все заканчивается предоставлением компилятору csc.ехе инструкций относительно того, что следует делать с входными файлами кода C#. В этом отношении изучение происходящего «за кулисами» позволяет получить необходимые знания.
Еще одно преимущество подхода с использованием одного лишь компилятора csc.ехе состоит в том, что он позволяет обрести навыки и чувствовать себя более уверенно при работе с другими инструментами командной строки, входящими в состав .NET Framework 4.0 SDK, так как целый ряд важных утилит работает исключительно в режиме командной строки.
Чтобы посмотреть, как создавать .NET-приложение без IDE-среды, давайте построим с помощью компилятора C# и текстового редактора Notepad простую исполняемую сборку по имени TestApplication.exe. Сначала необходимо подготовить исходный код. Откройте программу Notepad (Блокнот), выбрав в меню Start (Пуск) пункт All Programs — Accessories — Notepad (Все программы — Стандартные — Блокнот), и введите следующее типичное определение класса на C#:
После окончания ввода сохраните файл под именем TestApplication.cs. Теперь давайте ознакомимся с ключевыми опциями компилятора C#.
Указание целевых входных и выходных параметров
Первым делом важно разобраться с тем, как указывать имя и тип создаваемой сборки (т.е., например, консольное приложение по имени MyShell.exe, библиотека кода по имени MathLib.dll или приложение Windows Presentation Foundation по имени Halo8.ехе). Каждый из возможных вариантов имеет соответствующий флаг, который нужно передать компилятору csc.ехе в виде параметра командной строки.
Обратите внимание, что параметры, передаваемые компилятору командной строки (а также большинству других утилит командной строки), могут сопровождаться префиксом в виде символа дефиса (-) или слеша (/).
Выходные параметры, которые может принимать компилятор C# приведены в следующей таблице:
Чтобы скомпилировать TestApplication.cs в консольное приложение TestApplication.exe, перейдите в каталог, в котором был сохранен файл исходного кода (с помощью флага cd) и введите следующую команду:

Обратите внимание, что здесь C:\myProject — это путь к папке, в которой хранится файл TestApplication.cs. Так же обратите внимание, что здесь флаг /out не был указан явным образом, поэтому исполняемым файл получит имя TestApplication.ехе из-за того, что именем входного файла является TestApplication. Кроме того, для почти всех принимаемых компилятором C# флагов поддерживаются сокращенные версии написания, наподобие /t вместо /target (полный список которых можно увидеть, введя в командной строке команду csc -?).
Теперь можно попробовать запустить приложение TestApplication.ехе из командной строки, введя имя его исполняемого файла:

Добавление ссылок на внешние сборки
Давайте посмотрим, как скомпилировать приложение, в котором используются типы, определенные в отдельной сборке .NET. Если осталось неясным, каким образом компилятору C# удалось понять ссылку на тип System.Console, вспомните, что во время процесса компиляции происходит автоматическое добавление ссылки на mscorlib.dll (если по какой-то необычной причине нужно отключить эту функцию, следует передать компилятору csc.exe параметр /nostdlib).
Модифицируем приложение TestApplication так, чтобы в нем открывалось окно сообщения Windows Forms. Для этого откройте файл TestApplication.cs и измените его следующим образом:
Далее в командной строке нужно проинформировать компилятор csc.exe о том, в какой сборке содержатся используемые пространства имен. Поскольку применялся класс MessageBox из пространства имен System.Windows.Forms, значит, нужно указать компилятору на сборку System.Windows.Forms.dll, что делается с помощью флага /reference (или его сокращенной версии /r):

Если теперь снова попробовать запустить приложение, то помимо консольного вывода в нем должно появиться еще и окно с сообщением:

Кстати, как поступить, когда необходимо указать csc.exe несколько внешних сборок? Для этого нужно просто перечислить все сборки через точку с запятой. В рассматриваемом примере ссылаться на несколько сборок не требуется, но ниже приведена команда, которая иллюстрирует перечисление множества сборок:
csc /r:System.Windows.Forms.dll;System.Drawing.dll *.cs
Компиляция нескольких файлов исходного кода
В текущем примере приложение TestApp.exe создавалось с использованием единственного файла исходного кода * . cs. Хотя определять все типы .NET в одном файле *.cs вполне допустимо, в большинстве случаев проекты формируются из нескольких файлов *.cs для придания кодовой базе большей гибкости. Чтобы стало понятнее, давайте создадим новый класс и сохраним его в отдельном файле по имени HelloMessage.cs:
Изменим исходный класс TestApplication так, чтобы в нем использовался класс этого нового типа:
Чтобы скомпилировать файлы исходного кода на C# , необходимо их явно перечислить как входные файлы:

В качестве альтернативного варианта компилятор C# позволяет использовать групповой символ (*) для включения в текущую сборку всех файлов *.cs, которые содержатся в каталоге проекта:

Вывод, получаемый после запуска этой программы, идентичен предыдущей программе. Единственное отличие между этими двумя приложениями связано с разнесением логики по нескольким файлам.
Работа с ответными файлами в C#
Как не трудно догадаться, для создания сложного приложения C# из командной строки потребовалось бы вводить утомительное количество входных параметров для уведомления компилятора о том, как он должен обрабатывать исходный код. Для облегчения этой задачи в компиляторе C# поддерживается использование так называемых .
В ответных файлах C# размещаются все инструкции, которые должны использоваться в процессе компиляции текущей сборки. По соглашению эти файлы имеют расширение *.rsp (сокращение от response — ответ). Чтобы посмотреть на них в действии, давайте создадим ответный файл по имени TestApplication.rsp, содержащей следующие аргументы (комментарии в данном случае обозначаются символом #):
Теперь при условии сохранения данного файла в том же каталоге, где находятся подлежащие компиляции файлы исходного кода на C#, все приложение можно будет создать следующим образом (обратите внимание на применение символа @):

В случае необходимости допускается также указывать и несколько ответных *.rsp файлов в качестве входных параметров (например, csc @FirstFile.rsp @SecondFile.rsp @ThirdFile.rsp). При таком подходе, однако, следует иметь в виду, что компилятор обрабатывает параметры команд по мере их поступления. Следовательно, аргументы командной строки, содержащиеся в поступающем позже файле *.rsp, могут переопределять параметры из предыдущего ответного файла.
Последним моментом, связанным с ответными файлами, о котором необходимо упомянуть, является то, что с компилятором C# ассоциирован ответный файл csc.rsp, который используется по умолчанию и размещен в том же самом каталоге, что и файл csc.ехе (обычно это С:\Windows\Microsoft. NET\Framework\ , где на месте элемента идет номер конкретной версии платформы). Открыв файл csc.rsp в программе Notepad (Блокнот), можно увидеть, что в нем с помощью флага /r: указано множество сборок .NET, в том числе различные библиотеки для разработки веб-приложений, программирования с использованием технологии LINQ и обеспечения доступа к данным и прочие ключевые библиотеки (помимо, конечно же, самой главной библиотеки mscorlib.dll):

При создании программ на C# с применением csc.ехе ссылка на этот ответный файл добавляется автоматически, даже когда указан специальный файл *.rsp. Из-за наличия такого ответного файла по умолчанию, рассматриваемое приложение TestApplication.ехе можно скомпилировать и c помощью следующей команды (поскольку в csc.rsp уже содержится ссылка на System.Windows.Forms.dll):

Стоит отметить, что в случае добавления с помощью опции /r ссылок на сборки, которые на самом деле не используются, компилятор их проигнорирует. Поэтому беспокоиться по поводу «разбухания кода» не нужно.
Похожие публикации:
- Unity как привязать один объект к другому
- Align self stretch что это
- Button 2 что за кнопка
- Как снять ограничения на сайты в интернете