Как запустить программу на c через командную строку Windows

Я знаю, что каждый использует IDE в наши дни, но мне просто проще написать свой код в блокноте ++, скомпилировать его с помощью команды командной строки и запустить его оттуда тоже. По крайней мере, это работает для Java и Python. Я пытался разобраться, как это сделать с С++, и не смог найти ничего хорошего. Есть ли какой-нибудь компилятор (например, Java JDK), который я могу вставить в свой путь и использовать эквивалент С++ javac и java для запуска и компиляции моего кода из CMD?

Примечание. Пожалуйста, не публикуйте ответы и комментарии о том, как IDE лучше — я знаю, что они есть. Я просто привык делать это по-старому: D

ОТВЕТЫ

Ответ 1

Это зависит от того, какой компилятор вы используете.

Например, если вы используете Visual С++.NET 2010 Express, запустите Visual С++ 2010 Express Command Prompt из меню «Пуск», и вы можете просто скомпилировать и запустить код.

> cl /EHsc mycode.cpp > mycode.exe

или из обычной командной строки, вы можете запустить vcvars32.bat сначала, чтобы настроить среду. В качестве альтернативы выполните поиск setvcvars.cmd (часть проекта FLOSS) и используйте это, чтобы даже найти установленный VS и вызвать для него вызов vcvars32.bat .

Модуль 2. Компиляция программы на C# в командной строке

Пожалуйста, проверьте руководство для компилятора для командной строки.

Ответ 2

Шаги для выполнения задачи:

  1. Да, сначала установите компилятор: Скачать отсюда
  2. Затем введите программу C/C++, сохраните ее.
  3. Затем откройте командную строку и измените каталог, используя cd на конкретный каталог, где хранится исходный файл. как: cd C:Documents and Settings.
  4. Затем для компиляции/запуска введите в командной строке gcc sourcefile_name.c или gcc -o outputfile.exe

Ответ 3

Если вы работаете в Windows, воспользуйтесь этим:

g++ -o program program.cpp

g++ — это имя компилятора, а -o — это опция, необходимая для создания файла.o. Программа (без суффикса.cpp) — это exe файл, а program.cpp — ваш исходный файл, который вы хотите скомпилировать.

g++ -o program program.cppprogram.exe

Ответ 4

Я действительно не понимаю, в чем проблема, вопрос довольно неспецифичен. Учитывая Notepad ++, я предполагаю, что вы используете Windows.

Здесь у вас так много вариантов: от MinGW (с использованием цепочки инструментов GCC и GNU make ) до использования современного MSVC. Вы можете использовать WDK ( ddkbuild.bat/.cmd или plain build.exe ), Windows SDK ( nmake.exe ), другие инструменты, такие как premake и CMake или msbuild , который поставляется с MSVC и SDK Windows.

Я имею в виду, что имена компиляторов будут отличаться, cl.exe для MSVC и WDK и Windows SDK, gcc.exe для MinGW, но даже с консоли обычно организуется ваш проект. Это то, что make и друзья были изобретены в конце концов.

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

argc argv c++ что это. Параметры функции main argc argv. Аргументы main. C ++ Урок #70

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

Ответ 5

Конечно, это как большинство компиляторов началось. GCC, вероятно, самый популярный (поставляется с большинством вкусов * nix). Синтаксис равен gcc my_source_code.cpp или gcc -o my_executable.exe my_source_code.cpp . Конечно, это становится более сложным, когда у вас есть несколько исходных файлов (как в реализации, все #include d работает автоматически, пока GCC может его найти).

MinGW представляется версией GCC для Windows, если это то, что вы используете. Я не пробовал, хотя.

Довольно точно, что большинство IDE также содержат интерфейс командной строки. Я знаю, что Visual Studio делает, хотя я никогда не использовал его.

Читайте также:
Программы для настройки серверов Windows

Ответ 6

  1. Скачать форму MinGW: https://sourceforge.net/projects/mingw-w64/
  2. используйте notepad++ для написания исходного кода C++.
  3. с помощью командной строки измените каталог/папку, в которой сохранен исходный код (с помощью notepad++)
  4. скомпилировать: g++ имя_файла .cpp -o имя_файла .exe
  5. запустить исполняемый файл: имя_файла .exe

Ответ 7

Вы должны установить переменную окружения для запуска файла c++ в любом месте. следуйте этим инструкциям на YouTube Как скомпилировать C https://utyatnishna.ru/info/200480/run-c-in-command-prompt-windows» target=»_blank»]utyatnishna.ru[/mask_link]

Запустите C ++ в командной строке — Windows

Я знаю, что каждый использует IDE в наши дни, но мне просто проще написать свой код в блокноте ++, скомпилировать его с помощью команды командной строки и запустить его оттуда тоже. По крайней мере, это работает для Java и Python. Я пытался разобраться, как это сделать с С++, и не смог найти ничего хорошего.

Есть ли какой-нибудь компилятор (например, Java JDK), который я могу вставить в свой путь и использовать эквивалент С++ javac и java для запуска и компиляции моего кода из CMD? Примечание. Пожалуйста, не публикуйте ответы и комментарии о том, как IDE лучше — я знаю, что они есть. Я просто привык делать это по-старому: D

Bluefire 06 июль 2012, в 18:19
Поделиться
Конечно, какую операционную систему вы используете?
cha0site 06 июль 2012, в 16:08

Вероятно, windows . установите бесплатную версию visual studio, и вы можете использовать команду «cl».

nisah 06 июль 2012, в 16:10
Mooing Duck 06 июль 2012, в 16:16
Показать ещё 1 комментарий
Поделиться:
command-line
compiler-construction

5 ответов

Лучший ответ

Это зависит от того, какой компилятор вы используете.

Например, если вы используете Visual С++.NET 2010 Express, запустите Visual С++ 2010 Express Command Prompt из меню «Пуск», и вы можете просто скомпилировать и запустить код.

> cl /EHsc mycode.cpp > mycode.exe

или из обычной командной строки, вы можете запустить vcvars32.bat сначала, чтобы настроить среду. В качестве альтернативы выполните поиск setvcvars.cmd (часть проекта FLOSS) и используйте это, чтобы даже найти установленный VS и вызвать для него вызов vcvars32.bat .

Пожалуйста, проверьте руководство для компилятора для командной строки.

Rango 06 июль 2012, в 16:18
Поделиться

Шаги для выполнения задачи:

  1. Да, сначала установите компилятор: загрузите отсюда
  2. Затем введите программу C/C++, сохраните ее.
  3. Затем откройте командную строку и измените каталог, используя cd для конкретного каталога, в котором хранится исходный файл. как: cd C:Documents and Settings.
  4. Затем скомпилировать/запустить тип в командной строке, gcc sourcefile_name.c или gcc -o outputfile.exe

codeDEXTER 06 июль 2012, в 17:28
Поделиться
Если вы упоминаете cd , вы должны упомянуть, что он, вероятно, должен сначала поставить gcc на путь.
Mooing Duck 06 июль 2012, в 16:24
Gigi 06 июль 2012, в 16:25

Mooing Duck 06 июль 2012, в 16:35
Показать ещё 1 комментарий

Если вы работаете в Windows, воспользуйтесь этим:

g++ -o program program.cpp

g++ — это имя компилятора, а -o — это опция, необходимая для создания файла.o. Программа (без суффикса.cpp) — это exe файл, а program.cpp — ваш исходный файл, который вы хотите скомпилировать.

g++ -o program program.cppprogram.exe
JedaiCoder 31 май 2016, в 14:50
Поделиться

Я действительно не понимаю, в чем проблема, вопрос довольно неспецифичен.

Учитывая Notepad ++, я предполагаю, что вы используете Windows.

Здесь у вас так много вариантов: от MinGW (с использованием цепочки инструментов GCC и GNU make ) до использования современного MSVC. Вы можете использовать WDK ( ddkbuild.bat/.cmd или plain build.exe ), Windows SDK ( nmake.exe ), другие инструменты, такие как premake и CMake или msbuild , который поставляется с MSVC и SDK Windows.

Я имею в виду, что имена компиляторов будут отличаться, cl.exe для MSVC и WDK и Windows SDK, gcc.exe для MinGW, но даже с консоли обычно организуется ваш проект. Это то, что make и друзья были изобретены в конце концов.

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

Читайте также:
Подождите пока завершится удаление или изменение программы Windows 10

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

Источник: overcoder.net

11.11 – Аргументы командной строки

Как вы узнали из урока «0.4 – Введение в разработку на C++», при компиляции и компоновке программы на выходе получается исполняемый файл. Когда программа запускается, выполнение начинается с функции main() . До этого момента мы объявляли main следующим образом:

int main()

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

Как Thumbnail узнает, какое изображение прочитать и обработать? Пользователь должен каким-то образом указать программе, какой файл открыть. Для этого вы можете использовать следующий подход:

// Программа: Thumbnail #include #include int main() < std::cout ; std::cin >> filename; // открываем файл изображения // создаем миниатюру // выводим миниатюру >

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

Давайте рассмотрим эти случаи подробнее.

Рассмотрим случай, когда вы хотите создать миниатюры для всех файлов изображений в заданном каталоге. Как бы вы это сделали? Вы можете запускать эту программу столько раз, сколько изображений в каталоге, печатая имя каждого файла вручную. Однако если бы изображений были сотни, это могло бы занять целый день! Хорошим решением здесь было бы написать программу, которая перебирает имя каждого файла в каталоге, вызывая Thumbnail один раз для каждого файла.

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

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

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

Передача аргументов командной строки

Исполняемые программы можно запускать из командной строки, вызывая их по имени. Например, чтобы запустить исполняемый файл » WordCount «, который находится в корневом каталоге диска C: на компьютере с Windows, вы можете ввести:

C:>WordCount

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

C:>WordCount Myfile.txt

Теперь при выполнении WordCount Myfile.txt будет предоставлен в качестве аргумента командной строки. Программа может иметь несколько аргументов командной строки, разделенных пробелами:

C:>WordCount Myfile.txt Myotherfile.txt

Это также работает и в других операционных системах командной строки, таких как Linux (хотя приглашение и структура каталогов, несомненно, будут отличаться).

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

В Microsoft Visual Studio кликните правой кнопкой мыши на своем проекте в обозревателе решений и выберите «Свойства» (Properties). В открывшемся окне разверните дерево «Свойства конфигурации» (Configuration Properties) и выберите «Отладка» (Debugging). На правой панели есть строка с названием «Аргументы команды» (Command Arguments). Вы можете ввести туда аргументы командной строки для тестирования, и они будут автоматически переданы вашей программе при ее запуске.

Читайте также:
Что за программа Windows media encoder

Задание аргументов командной строки в Microsoft Visual Studio

В Code::Blocks выберите «Project» (Проект) → «Set program’s arguments» (Установить аргументы программы).

Задание аргументов командной строки в Code::Blocks

Использование аргументов командной строки

Теперь, когда вы знаете, как предоставить программе аргументы командной строки, следующим шагом будет доступ к ним из нашей программы на C++. Для этого мы используем другую форму main() . Эта новая форма main() принимает два аргумента (по соглашению названные argc и argv ) следующим образом:

int main(int argc, char *argv[])

Иногда вы также можете увидеть и такое:

int main(int argc, char** argv)

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

argc – это целочисленный параметр, содержащий счетчик числа аргументов, переданных программе ( argc = argument count, число аргументов). argc всегда будет не меньше 1 потому, что первым аргументом всегда является имя самой программы. Каждый аргумент командной строки, предоставляемый пользователем, приведет к увеличению argc на 1.

argv – это место, где хранятся фактические значения аргументов ( argv = argument values, значения аргументов, хотя на самом деле расшифровывается как «argument vectors»). Хотя объявление argv выглядит устрашающе, на самом деле argv представляет собой просто массив строк в стиле C. Длина этого массива – argc .

Давайте напишем короткую программу с именем MyArgs для вывода значений всех параметров командной строки:

// Программа: MyArgs #include int main(int argc, char *argv[]) < std::cout ; count < argc; ++count) < std::cout return 0; >

Теперь, когда мы вызываем эту программу ( MyArgs ) с аргументами командной строки » Myfile.txt » и » 100 «, вывод будет следующим:

There are 3 arguments: 0 C:MyArgs 1 Myfile.txt 2 100

Аргумент 0 – это путь и имя текущей запущенной программы. Аргументы 1 и 2 в данном случае – это два параметра командной строки, которые мы передали.

Работа с числовыми аргументами

Аргументы командной строки всегда передаются в виде строк, даже если предоставленное значение является числовым. Чтобы использовать аргумент командной строки в качестве числа, вы должны преобразовать его из строки в число. К сожалению, C++ делает это немного сложнее, чем должно быть.

В C++ это можно сделать следующим образом:

#include #include // для std::stringstream #include int main(int argc, char *argv[]) < if (argc » » // устанавливаем переменную строкового потока с именем convert, // инициализированную входными данными из argv[1] std::stringstream convert< argv[1] >; int myint<>; if (!(convert >> myint)) // выполняем преобразование myint = 0; // если преобразование не удалось, //установим для myint значение по умолчанию std::cout

При запуске с вводом » 567 » эта программа печатает:

Got integer: 567

std::stringstream работает так же, как std::cin . В этом случае мы инициализируем его значением argv[1] , и поэтому можем использовать operator>> для извлечения значения в целочисленную переменную (так же, как и с std::cin ).

Подробнее о std::stringstream мы поговорим в следующей главе.

Операционная система анализирует аргументы командной строки первой

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

Как правило, в операционных системах действуют особые правила обработки специальных символов, таких как двойные кавычки и обратный слеш.

MyArgs Hello world!
There are 3 arguments: 0 C:MyArgs 1 Hello 2 world!

Обычно строки, переданные в двойных кавычках, считаются частью одной строки:

MyArgs «Hello world!»
There are 2 arguments: 0 C:MyArgs 1 Hello world!

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

MyArgs «Hello world!»
There are 3 arguments: 0 C:MyArgs 1 «Hello 2 world!»

Заключение

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

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

Источник: radioprog.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru