Мой вопрос прост: есть ли способ скомпилировать и запустить код C++ с терминала в Linux в одной строке?Компиляция и запуск кода на C++ с одной командой в Linux
ответ
g++ myfile.cpp -o myfile && ./myfile
Не совсем одна команда. –
@JohnDibling ОП задает «одну строку», а также «одну команду» в вопросе. – JBentley
OP запросил _one line_, а не _ one command_ (последний даже не имеет смысла в терминах 'shell': технически вышеприведенная команда по-прежнему является одной командой) –
Да. Если предположить, что C++ программа кодируется в один файл с именем foo.cpp:
g++ foo.cpp -o foo && ./foo
Замечание: & & означает: выполнить команду на право, только если команда на левом удалось
+1 за то же самое и «make && ./foo», если программа не находится в одном файле (и вам нужен make-файл) – Zac
Makefiles не обязательно должны быть реальными файлами - они могут прибыть через stdin и bash здесь строки. http://stackoverflow.com/a/20006901/2113226 –
Это больше проблемы с shell-scripting, чем вопрос на C++. В большинстве оболочек существует множество способов цепочки команд. Предполагая, что вы используете bash (попробуйте echo $SHELL
, чтобы убедиться), взгляните на хороший bash tutorial.
Попробуйте этот хак:
Палка эта линия на верхней части файла CPP:
//&>/dev/null;x="${0%.*}";[ ! "$x" -ot "$0" ]||(rm -f "$x";g++ -o "$x" "$0")&&exec "$x" "[email protected]"
Затем добавить разрешение на выполнение файла CPP, т.е. (chmod +x foo.cpp
), то:
./foo.cpp
Ужасное, хотя и интересное (следовательно, +1) решение! Это также не совсем удовлетворяет вопрос OP, так как он требует нескольких команд при создании любого .cpp-файла. – JBentley
@JBentley, хе-хе, он не предназначен для правильного использования, но он полезен для небольших фрагментов тестов ... О командах, это расщепление волос ...;) – Nim
В одной строке: да; см. другие ответы.
В одной команде: нет.
см. Http://stackoverflow.com/a/20006901/ 2113226 как сделать это в одной команде –
@DigitalTrauma Это умная да, но не буквально одна команда. – user1074069
Под «одной командой» я предполагаю, что OP означает вызов только одного двоичного файла из командной строки.
В одной строке: да; см. другие ответы.
В одной команде: уверен - вы можете воспользоваться некоторыми make неявных правил, и пихать в своем собственном правило выполнения через Баш здесь строку:
$ ls hello* *ake*
ls: cannot access *ake*: No such file or directory
hello.c
$ cat hello.c
#include <stdio.h>
int main (int argc, char **argv) {
printf("%s %s\n", "hello", "world");
return (0);
}
$ make hello.run -f - <<< 'hello.run: hello; ./$<'
cc hello.c -o hello
./hello
hello world
$
- 1. Компиляция и запуск кода на C# программно
- 2. Компиляция и запуск кода C в блокноте ++
- 3. Компиляция кода C с Redis на Linux
- 4. компиляция визуального кода на C++ в Linux?
- 5. LAPACK/LAPACKE с C++ на LINUX --- Компиляция, связывание и запуск?
- 6. Компиляция кода c в терминале linux gcc
- 7. Автоматическая компиляция и запуск стороннего кода
- 8. Компиляция кода C/C++ на MacOS
- 9. Запуск (& компиляция) ненадежного кода пользователя
- 10. Перекрестный компиляция кода C для окон в Linux с OpenCV
- 11. Компиляция на Linux с C++ стандартной библиотеки
- 12. Компиляция кода с использованием gcc и SciTE?
- 13. Компиляция и запуск кода Exploit-DB
- 14. Компиляция кода C# с Windows Forms в Linux
- 15. компиляция и запуск кода пользователя с JavaCompiler и ClassLoader
- 16. Компиляция исходного кода java на linux
- 17. Компиляция и запуск приложений на C++ в разных версиях Ubuntu
- 18. компиляция на Windows и Linux
- 19. Компиляция и запуск в OCaml
- 20. Компиляция проектов C# на Linux с зависимостями
- 21. компиляция на windows и linux
- 22. Компиляция кода на C++ с использованием __float128
- 23. Компиляция кода C с VLD
- 24. Компиляция и запуск программы на C++ с Vim
- 25. компиляция кода пространства пользователя в linux
- 26. C# динамическая компиляция и генерация кода
- 27. компиляция кода синусоидального кода
- 28. Компиляция Objective-C в Linux
- 29. Python 2.3 компиляция кода в Linux
- 30. Компиляция объекта c в Linux
См http://stackoverflow.com/questions/ 18419973/bash-scripts-to-compile-and-run-c – usr2564301
'make execute', предполагая, что вы внесете соответствующие изменения в свой файл makefile. –