Как запустить файл c
Обновлено: 21.11.2024
Я начинаю работать с микроконтроллерами и программировать их на языке Си.
Весь мой опыт программирования связан с языком Python.
Я знаю, что если я хочу протестировать скрипт, написанный на python, я могу просто запустить терминал и ввести «python» с путем к файлу, который я хочу запустить.
Я попробовал выполнить поиск в Интернете, но большинство из них, похоже, не поняли, о чем я спрашивал.
Как запустить c из терминала?
4 ответа 4
C не является интерпретируемым языком, как Python или Perl. Вы не можете просто ввести код C, а затем указать оболочке выполнить файл. Вам нужно скомпилировать файл C с помощью компилятора C, такого как gcc, а затем выполнить полученный двоичный файл.
Например, запуск gcc file.c выведет двоичный файл с именем a.out . Затем вы можете указать оболочке выполнить двоичный файл, указав полный путь к файлу ./a.out .
Редактировать:
Как указано в некоторых комментариях и других ответах, существуют некоторые интерпретаторы C. Однако я бы сказал, что компиляторы C более популярны.
Боже, я помню, как читал часть «c не является интерпретируемым языком» в какой-то сравнительной статье, которую я читал, но не понял, что все это значит. Спасибо!
Этот ответ хорош, потому что он не пытается ответить на вопрос буквально. Он понимает основную проблему.
Если у вас есть один foo.c , посмотрите, сможет ли make скомпилировать его для вас:
Никаких make-файлов или чего-либо еще.
tcc -run file.c иногда запускает файл .c. Если файлу .c нужны дополнительные библиотеки, tcc -llib1 -llib2 . -run file.c завершится успешно. Иногда это просто не сработает. tcc — это не gcc.
Простые файлы .c от новичка в C почти всегда будут работать.
Я начинаю работать с микроконтроллерами и программировать их на языке Си.
На практике это важный фактор. Я предполагаю, что ваш микроконтроллер похож на Arduino (или, возможно, на Raspberry Pi).
В общем, вам нужен кросс-компилятор. Затем вы выполните кросс-компиляцию в своей настольной системе (например, в Linux, которая очень удобна для разработчиков; но вы можете найти кросс-компиляторы, размещенные в Windows или MacOSX, для Arduino), ваш исходный код в исполняемый файл, предназначенный для вашего микроконтроллера. а затем передайте двоичный исполняемый файл на ваш микроконтроллер.
C — сложный язык программирования.
Во многих случаях вы можете скомпилировать свой код прямо на рабочем столе (не забудьте включить все предупреждения и отладочную информацию, например, gcc -Wall -Wextra -g с GCC), протестировать большую его часть на своем рабочем столе и позже адаптируйте его и портируйте для своего Arduino. Отладка некоторого кода на ноутбуке или настольном компьютере намного проще, чем отладка на Arduino.
Позднее вы кросс-компилируете тот же исходный код для своего микроконтроллера.
Linux становится раем для разработчиков, поскольку это бесплатная операционная система с открытым исходным кодом. Компилятор Turbo C — это уже старый подход к компиляции программ, поэтому давайте, программисты, перейдем на Linux для новой среды программирования. В этой статье мы объясним, как написать, скомпилировать и запустить простую программу на C. Это послужит вам основой для перехода к более сложным и полезным программам на C, которые вы сможете писать и выполнять в Linux.
Мы выполнили шаги и команды, упомянутые в этой статье, в системе Ubuntu 20.04 LTS, но они будут работать и в других версиях, таких как Ubuntu 18.04, или дистрибутивах, таких как Debian 10, точно так же.
Мы будем использовать инструмент командной строки Linux, Терминал, для компиляции простой программы на C. Чтобы открыть Терминал, вы можете использовать Ubuntu Dash или сочетание клавиш Ctrl+Alt+T.
Шаг 1. Установите необходимые для сборки пакеты
Чтобы скомпилировать и выполнить программу C, в вашей системе должны быть установлены необходимые пакеты. Введите следующую команду от имени пользователя root в терминале Linux:
Вас попросят ввести пароль для root; после этого начнется процесс установки. Убедитесь, что вы подключены к Интернету.
Шаг 2. Напишите простую программу на C
После установки необходимых пакетов давайте напишем простую программу на C.
Откройте графический текстовый редактор Ubuntu и напишите или скопируйте в него следующий пример программы:
Затем сохраните файл с расширением .c. В этом примере я называю свою программу на C как sampleProgram.c
В качестве альтернативы вы можете написать программу C через Терминал в gedit следующим образом:
Это создаст файл .c, в котором вы сможете написать и сохранить программу.
Шаг 3. Скомпилируйте программу C с помощью компилятора gcc
В терминале введите следующую команду, чтобы сделать исполняемую версию написанной вами программы: Реклама
Убедитесь, что ваша программа находится в вашей домашней папке. В противном случае вам нужно будет указать соответствующие пути в этой команде.
Шаг 4. Запустите программу
Последний шаг — запустить скомпилированную программу на C. Для этого используйте следующий синтаксис:
Вы можете увидеть, как программа выполняется в приведенном выше примере, отображая текст, который мы написали для печати.
Из этой статьи вы узнали, как написать, скомпилировать и запустить простую программу на C в Linux. Все, что вам нужно, это необходимые пакеты и нужные навыки, чтобы стать гуру программирования в Linux!
Карим Буздар
Об авторе: Карим Буздар имеет степень инженера в области телекоммуникаций и несколько сертификатов системного администратора. Как ИТ-инженер и технический автор, он пишет для различных веб-сайтов. Вы можете связаться с Каримом в LinkedIn
Поиск
Об этом сайте
Чтобы скомпилировать и запустить программу на языке C, вам понадобится компилятор C. Компилятор — это программное обеспечение, которое используется для компиляции и выполнения программ. Есть два способа установить компилятор языка C на вашем компьютере/ноутбуке:
Загрузите полноценную интегрированную среду разработки, например Turbo C++, Microsoft Visual C++ или DevC++, которая поставляется вместе с компилятором языка C.
Или вы можете использовать любой текстовый редактор для редактирования файлов программы и скачать компилятор C отдельно, а затем запустить программу C с помощью командной строки.
Если вы еще не установили IDE для языка C, следуйте этому пошаговому руководству по установке Turbo C++ для языка C
Использование IDE — Turbo C
Мы рекомендуем вам использовать Turbo C или Turbo C++ IDE, которая является самой старой IDE для программирования на языке C. Он находится в свободном доступе в Интернете и подходит для начинающих.
Шаг 1. Откройте IDE turbo C (интегрированную среду разработки), нажмите «Файл», а затем нажмите «Создать».
После того, как вы загрузили и установили компилятор gcc, все, что вам нужно сделать, это открыть любой текстовый редактор, скопировать и вставить код программы C для C Hello World Program и сохранить его под именем helloworld.c, как и любой другой. другой файл, который вы сохраняете под именем.
Теперь откройте командную строку или терминал (если вы используете Ubuntu или Mac OS) и перейдите в каталог, в котором вы сохранили программный файл helloworld.c.
Введите команду gcc hello.c, чтобы скомпилировать код. Это скомпилирует код, и если ошибок нет, он создаст выходной файл с именем a.out(имя по умолчанию)
Теперь, чтобы запустить программу, введите ./a.out, и вы увидите Hello, World на экране.
Разница между компиляцией и запуском в C?
Вы должны подумать, почему это двухэтапный процесс: сначала мы компилируем код, а затем запускаем его. Мы сделали то же самое с Turbo C, а также с командной строкой или терминалом.
Компиляция — это процесс, в ходе которого компилятор проверяет правильность синтаксиса программы и отсутствие ошибок в синтаксисе, и, если код в порядке, преобразует исходный код языка C в понятный машинному коду объектный код.
Когда мы запускаем скомпилированную программу, выполняется только уже скомпилированный код.
Эта разница очевидна, когда мы запускаем программу на C с помощью командной строки. При компиляции кода создается файл .out, который затем запускается для выполнения программы.
После создания файла .out и внесения любых изменений в вашу программу в файле исходного кода вам придется снова скомпилировать код, в противном случае файл .out будет иметь старый исходный код и сохранит запуск самой старой программы.
Часто задаваемые вопросы (FAQ)
1. Что вы понимаете под процессом компиляции?
Это процесс, в ходе которого компилятор проверяет, является ли программа синтаксически правильной или нет. Если в синтаксисе обнаружена какая-либо ошибка, она выдаст ошибки. Ошибка, возникающая во время компиляции, называется ошибкой времени компиляции.
2. Назовите ключи, используемые в Turbo C для компиляции кода.
ALT + F9 используется в Turbo C для компиляции кода.
3. Как выполняется программа на C?
Во время компиляции и выполнения программы C компилятор создает выходные файлы с тем же именем, что и у файла программы C, но с другими расширениями. Файл с расширением .c называется исходным файлом, в котором хранится код программы. Теперь, когда мы компилируем файл, компилятор C ищет ошибки.
4.Где я могу написать и запустить программу C?
Вы можете использовать IDE для написания и запуска программы C, выполнив следующие действия:
Шаг 1. Откройте IDE turbo C (интегрированную среду разработки), нажмите «Файл», а затем нажмите «Создать».
Шаг 2. Напишите программный код C.
Шаг 3. Нажмите «Компилировать» или нажмите Alt + F9, чтобы скомпилировать код.
Шаг 4. Нажмите «Выполнить» или нажмите Ctrl + F9, чтобы запустить код.
Шаг 5: Turbo C откроет консоль, чтобы показать вам результат работы программы.
Заключение
Это руководство посвящено тому, как запускать и компилировать любую программу на C, используя имя IDE Turbo C. Мы также рассмотрели, как это можно сделать без использования какой-либо IDE.
Как вы программируете на C в Linux? Это действительно очень просто и состоит из трех простых шагов.
Шаг 1. Вы пишете свою программу и сохраняете файл с расширением .c. Например, my_program.c.
Шаг 2. Вы компилируете программу и создаете объектный файл с помощью компилятора gcc в таком терминале:
Шаг 3. Вы запускаете сгенерированный объектный файл для запуска вашей программы C в Linux:
Это был всего лишь краткий обзор того, как компилировать и запускать программу C в Linux. Если вы новичок в C или Linux, я подробно покажу эти шаги, чтобы вы чувствовали себя комфортно при написании программы C в среде Linux.
На самом деле, я расскажу, как запускать программы C в терминале Linux, а также в редакторе кода.
Метод 1. Как запускать программы C в терминале Linux
Чтобы запустить программу C в Linux, в вашей системе должен быть установлен компилятор C. Наиболее популярным компилятором является gcc (GNU Compiler Collection).
Вы можете установить gcc с помощью менеджера пакетов вашего дистрибутива. В дистрибутивах Linux на основе Debian и Ubuntu используйте команду apt:
Перейдите в каталог, в котором вы сохранили свою программу C (или укажите путь), а затем сгенерируйте объектный файл, скомпилировав программу:
Имейте в виду, что указывать выходной объектный файл (-o my_program) необязательно. Если вы этого не сделаете, будет автоматически сгенерирован объектный файл с именем a.out. Но это нехорошо, потому что он будет перезаписан для каждой программы на C, и вы не сможете узнать, какой программе принадлежит объектный файл a.out.
После создания объектного файла запустите его, чтобы запустить программу C. Он уже исполняемый. Просто используйте это так:
И он отобразит желаемый результат, если ваша программа верна. Как видите, это не сильно отличается от запуска программ C++ в Linux.
Каждый раз, когда вы вносите изменения в свою программу, вы должны сначала скомпилировать ее, а затем запустить сгенерированный объектный файл для запуска программы C.
Вы должны убедиться, что в вашей системе Linux установлен компилятор gcc.
Следующее, что вам нужно, это использовать расширение, позволяющее запускать код C. Microsoft может предложить вам установить собственное расширение для программы C/C++, но оно сложно в установке, поэтому я не буду его рекомендовать.
Вместо этого я предлагаю использовать расширение Code Runner. Это серьезное расширение, и вы можете легко запускать код C и C++ без дополнительной настройки.
Перейдите на вкладку "Расширения", найдите "Code Runner" и установите его.
Перезапустите Visual Studio Code. Теперь вы сможете запустить код C одним из следующих способов:
Когда вы запускаете программу, она автоматически компилируется, а затем запускается. Вы можете увидеть вывод в терминале, который открывается в нижней части редактора. Что может быть лучше этого?
Какой метод вы предпочитаете?
Выполнение нескольких программ на C в командной строке Linux — это нормально, но использование редактора кода намного проще и экономит время. Вы не согласны?
C — это язык среднего уровня, и ему нужен компилятор для преобразования его в исполняемый код, чтобы программу можно было запустить на нашем компьютере.
Как мы компилируем и запускаем программу C?
Ниже приведены шаги, которые мы используем на компьютере с Ubuntu с компилятором gcc.
- Сначала мы создаем программу на C с помощью редактора и сохраняем файл под именем filename.c
- На схеме справа показана простая программа для сложения двух чисел.
- Затем скомпилируйте его с помощью приведенной ниже команды.
- Опция -Wall включает все предупреждающие сообщения компилятора. Этот вариант рекомендуется для создания лучшего кода.
Опция -o используется для указания имени выходного файла. Если мы не используем эту опцию, то создается выходной файл с именем a.out.
- После создания исполняемого файла компиляции мы запускаем сгенерированный исполняемый файл с помощью приведенной ниже команды.
- Предварительная обработка
- Подборка
- Сборка
- Связь
Выполняя приведенную ниже команду, мы получаем все промежуточные файлы в текущем каталоге вместе с исполняемым файлом.
На следующем снимке экрана показаны все сгенерированные промежуточные файлы.
Давайте посмотрим один за другим, что содержат эти промежуточные файлы.
Предварительная обработка
- Удаление комментариев
- Расширение макросов
- Расширение включенных файлов.
- Условная компиляция
Компиляция
Следующим шагом является компиляция filename.i и создание файла; промежуточный скомпилированный выходной файл имя_файла.s. Этот файл находится в инструкциях уровня сборки. Давайте просмотрим этот файл, используя $vi filename.s
Снимок показывает, что он написан на языке ассемблера, который ассемблер понимает.
Сборка
На этом этапе имя файла.s берется в качестве входных данных и преобразуется ассемблером в имя файла.o. Этот файл содержит инструкции машинного уровня. На этом этапе только существующий код преобразуется в машинный язык, вызовы функций, таких как printf(), не разрешаются. Давайте просмотрим этот файл, используя $vi filename.o
Связывание
Это последний этап, на котором выполняется связывание вызовов функций с их определениями. Линкер знает, где реализованы все эти функции. Компоновщик также выполняет некоторую дополнительную работу, он добавляет в нашу программу дополнительный код, который требуется при запуске и завершении программы. Например, есть код, необходимый для настройки среды, такой как передача аргументов командной строки. Эту задачу можно легко проверить, используя $size имя_файла.o и $size имя_файла. С помощью этих команд мы знаем, как выходной файл увеличивается от объектного файла до исполняемого файла. Это связано с дополнительным кодом, который компоновщик добавляет в нашу программу.
Обратите внимание, что GCC по умолчанию выполняет динамическую компоновку, поэтому printf() динамически компонуется в приведенной выше программе. Обратитесь к этому, этому и этому для получения более подробной информации о статических и динамических ссылках.
Эта статья предоставлена Викашем Кумаром. Пожалуйста, пишите комментарии, если вы обнаружите что-то неверное или хотите поделиться дополнительной информацией по теме, обсуждаемой выше.
Читайте также: