- команда cpp в Linux с примерами
- 🐧 Как скомпилировать и запустить программы на C, C++ в Linux
- Настройка среды разработки
- Компиляция и запуск программ на C, C ++ на Linux
- Напишите свой код / программу в вашем любимом редакторе CLI / GUI.
- Компиляция и запуск программ C ++
- Добавить комментарий Отменить ответ
- • Свежие записи
- • Категории
- • itsecforu.ru
- • Страны посетителей
- IT is good
- LibreBay
- понедельник, 5 декабря 2016 г.
- Как скомпилировать программу на C/C++ в Ubuntu
- Текстовый редактор gedit
- Компиляция программы на C
- Компиляция программы на С++
- Заключение
- Запустить файл cpp из командной строки
команда cpp в Linux с примерами
cpp — это препроцессор языка C, он автоматически используется компилятором C для преобразования вашей программы перед компиляцией. Он также называется макропроцессором, потому что он используется для обозначения сокращений для более длинного фрагмента кода. Он может использоваться только с исходным кодом C, C ++ и Objective-C. Использование с другими языками программирования может вызвать неопределенные проблемы.
Синтаксис:
Некоторые важные параметры:
- -D name : предопределить имя как макрос.
- -D имя = определение : содержимое определения маркируется и обрабатывается так, как если бы оно было записано в самой программе.
- -U name : отменить любое предыдущее определение макроса.
- -undef : не предопределять какие-либо системные или GCC-специфичные макросы. Стандартные предопределенные макросы остаются определенными.
- -I dir : добавить каталог dir в список каталогов для поиска файлов заголовков.
- -Wall : включает все необязательные предупреждения, которые желательны для нормального кода.
- -Wcomments : Предупреждать всякий раз, когда начинается / комментирует последовательность запуска / * в комментарии / *, или когда в комментариях // появляется обратная косая черта.
- -Wendif-tags : Предупреждать всякий раз, когда за #else или #endif следует текст.
- -w : Подавить все предупреждения, в том числе те, которые GNU CPP выдает по умолчанию.
- -M : вместо вывода результата предварительной обработки выведите правило, подходящее для make, описывающее зависимости основного исходного файла.
- -MM : аналогично -M, но не упоминаются файлы заголовков, которые находятся в системных каталогах заголовков.
- -xc
- -x с ++
- -x цель-с
- -x ассемблер-с-cpp : все четыре выше Укажите исходный язык: C, C ++, Objective-C или ассемблер. Это не имеет ничего общего со стандартами соответствия или расширения; он просто выбирает, какой базовый синтаксис ожидать.
Примеры: мы создали два кода, чтобы объяснить концепцию, мы будем называть их code_a.c и code_b.c .
- Используя команду cpp:
Это приведет к следующему выводу:
Вывод слишком велик, и нам на самом деле не нужно это понимать концепцию. Мы поняли, что он просто вызывает и заменяет весь фрагмент кода в заголовочных файлах программы.
используя опцию -D:
Обратите внимание, что он печатает тот же результат. Это потому, что он использовал макрос, который мы объявили в командной строке.
Используя опцию -M :
Заметил разницу. Это потому, что он выводит только правила, необходимые для make .
Источник
🐧 Как скомпилировать и запустить программы на C, C++ в Linux
Настройка среды разработки
После установки необходимых инструментов разработки проверьте их с помощью одной из следующих команд:
Компиляция и запуск программ на C, C ++ на Linux
Напишите свой код / программу в вашем любимом редакторе CLI / GUI.
Я собираюсь написать свою программу на C, используя редактор nano.
Примечание: вам нужно использовать расширение .c для программ на C или .cpp для программ на C ++.
Если ошибки нет, компилятор успешно сгенерирует исполняемый файл с именем itisgood в текущем рабочем каталоге.
Наконец, выполните программу, используя команду:
Вы увидите вывод, как показано ниже:
Чтобы разрешить предупреждения, отладьте символы в выводе:
Чтобы скомпилировать исходный код без ссылок:
Приведенная выше команда создаст исполняемый файл с именем source.o.
Если ваша программа содержит математические функции:
Для более подробной информации обратитесь к справочным страницам.
Компиляция и запуск программ C ++
Напишите свою программу на C ++ в любом редакторе по вашему выбору и сохраните ее с расширением .cpp.
Вот простая программа на C ++.
Чтобы скомпилировать эту программу C ++ в Linux, просто запустите:
Если ошибок не было, вы можете запустить эту программу C ++ под Linux, используя команду:
Вы увидите вывод, как показано ниже:
Я не использовал расширение .cpp в приведенной выше команде для компиляции программы.
Нет необходимости использовать расширение для компиляции программ на C ++ с помощью команды make.
Для более подробной информации обратитесь к справочным страницам.
Надеюсь все было достаточно просто и понятно! 🙂
Добавить комментарий Отменить ответ
• Свежие записи
• Категории
• itsecforu.ru
• Страны посетителей
IT is good
Источник
LibreBay
Статьи про ОС Ubuntu. Языки программирования Си и C++.
Инструменты разработки и многое другое.
понедельник, 5 декабря 2016 г.
Как скомпилировать программу на C/C++ в Ubuntu
Помню, когда я только начинал программировать, у меня возник вопрос: «Как скомпилировать программу на C в Ubuntu?» Для новичков это не легкая задача, как может показаться на первый взгляд.
Мой путь изучения C начался с бестселлера «Брайан Керниган, Деннис Ритчи, Язык программирования C, 2-е издание». Там рассказывается как скомпилировать программу в операционной системе Unix, но этот способ не работает в Linux. Авторы книги выкрутились, написав следующее:
В других системах это процедура будет отличаться. Обратитесь к справочнику или специалисту за подробностями.
Текстовый редактор gedit
Для написания первых программ подойдет обычный, используемый по умолчанию в Ubuntu, текстовый редактор с подсветкой синтаксиса — gedit.
Рис. 1. Запуск текстового редактора. |
Первой программой по традиции является «Hello, World!», выводящее приветствие на экран:
Печатаем или копируем текст программы в gedit и сохраняем в файл Hello.c , например, на рабочий стол. Не самое лучше место для сохранения, но это позволит рассмотреть случай, когда в имени директории содержится пробел.
Рис. 2. Программа hello, World. |
Компиляция программы на C
Для установки требуется ввести пароль, при вводе которого может сложиться впечатление, что ничего не происходит, но на самом деле терминал просто в целях безопасности не отображает символы.
Далее в терминале нам необходимо перейти в директорию, куда сохранили файл с текстом программы. Перемещение выполняется командой cd (англ. change directory — изменить каталог). Чтобы воспользоваться командой в начале пишется cd , затем через пробел путь , куда нужно перейти.
Для перехода на рабочий стол, команда будет следующей:
Обратите внимание на символ обратной косой черты \ в имени директории Рабочий стол . Обратная косая экранирует пробел, и сообщает команде cd , что пробел и следующие за ним символы являются частью имени. Символ
в начале пути обозначает путь до домашней папки пользователя.
Для просмотра содержимого директории применяется команда ls (сокращение от англ. list).
Рис. 3. Работа в терминале. |
Команда компиляции для программы на C выглядит следующим образом:
где:
- gcc — компилятор для языка программирования C;
- -Wall — ключ вывода всех предупреждений компилятора;
- -o hello — с помощью ключа -o указывается имя выходного файла;
- hello.c — имя нашего исходного файла, который компилируем.
Выполнив команду ls , увидим, что появилась наша скомпилированная программа hello , отмеченная цветом, обозначающим исполняемые программы.
В завершение запустим hello , вводом имени программы с префиксом ./ :
Префикс ./ сообщает терминалу о необходимости выполнить программу с заданным именем в текущем каталоге. (Точка — это условное название текущего каталога.)
Рис. 4. Работа в терминале, продолжение. |
Компиляция программы на С++
Программы на C++ компилируются аналогично, как и программы на C. «Hello, World!» на C++ можно написать так:
Сохраняем текст программы в файл под именем hello2.cpp . Таким образом, команда компилирования будет иметь вид:
Для запуска результата вводим в терминале:
Заключение
Данный способ позволяет скомпилировать программу лишь из одного файла с исходным кодом. Но этого вполне достаточно, чтобы начать изучение языков программирования C/C++ по книгам или по статьям в интернете.
Более подробно об программировании в Ubuntu или в любом другом дистрибутиве Linux можно прочитать в книгах:
- Иванов Н. Н. — Программирование в Linux. Самоучитель. — 2-е издание;
- Нейл Метьэ, Ричард Стоунс — Основы программирования в Linux: Пер. с англ. — 4-е издание;
- Колисниченко Д. Н. — Разработка Linux-приложений.
Источник
Запустить файл cpp из командной строки
Сейчас читаю книгу Kaehler A., Bradski G. — Learning OpenCV 3 Computer Vision in C++ with the OpenCV Library — 2017. К ней есть примеры, вот один из них.
Название файла: example_02-01.cpp
В книге автор учит, как этот файл запустить из командной строки.
Clearly, build instructions are highly platform dependent. In this book we do not generally cover platformspecific details, but here is an example of what a build instruction might look like in a UNIX-like environment: gcc -v example2_2.cpp -I/usr/local/include/ -L/usr/lib/ -lstdc++ -L/usr/local/lib -lopencv_highgui -lopencv_core — -o example2_2 . Note that the various components of the library are usually linked separately.
Но у меня не получается это сделать: я ввожу в Ubuntu в терминале:
gcc -v example_02-01.cpp -I/usr/local/include/ -L/usr/lib/ -lstdc++ -L/usr/local/lib -lopencv_highgui -lopencv_core — -o example2_2
На выходе получаю:
gcc: error: -E or -x required when input is from standard input
gcc -v example_02-01.cpp -I/usr/local/include/ -L/usr/lib/ -lstdc++ -L/usr/local/lib -lopencv_highgui -lopencv_core -o example2_2
Тоже не выходит: вылезает много-много текста, а в конце надпись: //usr/local/lib/libopencv_imgcodecs.so.3.3: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
Запустил по-другому: (box.png — картинка) gcc example_02-01.cpp box.png
box.png: file not recognized: File format not recognized
collect2: error: ld returned 1 exit status
Так как мне этот файл cpp запустить из командной строки правильно?
Добавлено через 1 час 13 минут
Update:
Задачу я решил обходным путём с помощью библиотеки QT. Вот код:
Файл с расширением pro, взял по умолчанию и добавил в него пару строк:
INCLUDEPATH += /usr/local/include/opencv2
LIBS += -L/usr/local/lib -lopencv_core -lopencv_imgcodecs -lopencv_highgui
А вот сама программа: убрал arg, и вместо этого загрузил картинку явным образом, то есть указал для картинки путь:
cv::Mat img = cv::imread(«/home/mtw/Downloads/Learning-OpenCV-3_examples-master/adrian.jpg»);
Программа работает: картинка выводится, но хотелось бы научиться запускать файл cpp через командную строку с передачей в неё аргументов, это должно делаться как-то очень просто.
Добавлено через 28 минут
Update:
Оказывается, без передачи аргументов файл можно запустить так, и это работает. Скажем, есть программа:
Если запустить в терминале следующую строку, то всё будет работать:
g++ -ggdb example.cpp -o output `pkg-config —cflags —libs opencv`
Но остался вопрос: а как запустить программу в терминала, чтобы передать аргумент — ссылку на картинку, то есть у нас есть такая программа:
Как нужно изменить этот код (запускается в терминале):
g++ -ggdb example.cpp -o output `pkg-config —cflags —libs opencv`
Чтобы добавить в этот код картинку по адресу: «/home/mts/Downloads/Learning-OpenCV-3_examples-master/adrian.jpg» и чтобы всё тоже заработало?
Добавлено через 13 минут
Update:
Я нашёл ответ на свой вопрос: возвращаемся к исходному вопросу. Есть программа:
Как её запустить из командной строки?
Ответ — очень просто. Сначала её нужно скомпилировать наш файл выше под названием example.cpp с помощью следующей команды из терминала:
g++ -ggdb example.cpp -o output `pkg-config —cflags —libs opencv`
Мы получим на выходе файл output. Затем просто снова заходим в терминал и набираем
Получаем на выходе картинку.
Всё будет работать. Думаю, что все остальные примеры автора из этой книги тоже будут работать по этому принципу.
Источник