Как запустить файл .c из командной строки [дубликат]

Я начинаю работать с микроконтроллерами и программировать их на языке C.

Весь мой опыт программирования связан с языком Python.

Я знаю, что если я хочу протестировать сценарий, написанный мной на python, я могу просто запустить терминал и ввести «python», указав путь к файлу, который я хочу запустить.

Я попытался выполнить поиск в Интернете, но большинство, похоже, не поняли, о чем я спрашивал.

Как мне запустить c из терминала?


C не является интерпретируемым языком, как Python или Perl. Вы не можете просто ввести код C, а затем сказать оболочке выполнить файл. Вам нужно скомпилировать файл C с помощью компилятора C, такого как gcc , затем выполнить двоичный файл, который он выводит.

Например, запустив файл gcc .c выведет двоичный файл с именем a.out . Затем вы можете указать оболочке выполнить двоичный файл, указав полный путь к файлам ./a.out .

Изменить:
Как указано в некоторых комментариях и других ответах, существуют некоторые интерпретаторы C. Однако я бы сказал, что компиляторы C более популярны.


9

Если у вас есть единственный foo.c , посмотрите, сможет ли make скомпилировать его для вас:

   make foo  

Никаких make-файлов или чего-то еще.

Поделиться
Улучшить этот ответ
ответил 23 апр. ’18 в 06:43
добавить комментарий |

Если у вас есть единственный foo.c , посмотрите, сможет ли make может скомпилировать его для вас:

  make foo  

Никаких make-файлов или чего-то еще.


8

tcc -run file.c Иногда запускает файл .c. Если для файла .c требуются дополнительные библиотеки, tcc -llib1 -llib2 ... -run file.c будет успешным. Иногда это просто не работает. tcc — это не gcc.

Кстати, вы можете поместить #!/usr/bin/tcc -run в начало файла .c, chmod + x файл и запустите его, как любой другой скрипт. Когда файл .c работает в tcc, это нормально себя ведет.

Простые файлы .c, полученные от кого-то, кто не знаком с C, почти всегда будут работать.

Поделиться
Улучшите это ответ
изменён 23 апр. ’18 в 19:09
ответил 23 апр. ’18 в 02:58
  • 1
    Тогда tcc просто компилирует его для вас, верно? — user253751 23 апр. ’18 в 3:57
  • 2
    @immibis: tcc компилируется в ОЗУ и запускается немедленно. — Джошуа 23 апр. ’18 в 04:14
добавить комментарий |

tcc -run file.c иногда запускает файл .c. Если для файла .c требуются дополнительные библиотеки, tcc -llib1 -llib2 ... -run file.c будет успешным. Иногда это просто не работает. tcc — это не gcc.

Кстати, вы можете поместить #!/usr/bin/tcc -run в начало файла .c, chmod + x файл и запустите его, как любой другой скрипт. Когда файл .c работает в tcc, это нормально себя ведет.

Простые файлы .c, полученные от кого-то, кто не знаком с C, почти всегда будут работать.


3

Я начинаю работать с микроконтроллерами и программировать их на языке C .

На практике это важное соображение. Я предполагаю, что ваш микроконтроллер что-то вроде Arduino (или, возможно, Raspberry Pi).

В общем, вам нужен кросс-компилятор. Затем вы выполните кросс-компиляцию на своей настольной системе (например, в некотором Linux, который очень удобен для разработчиков; но вы можете найти кросс-компиляторы, размещенные в Windows или MacOSX для Arduinos), ваш исходный код в исполняемый файл, предназначенный для вашего микроконтроллера а затем передать двоичный исполняемый файл на ваш микроконтроллер.

C — сложный язык программирования.

Во многих случаях вы можете скомпилировать свой код прямо на рабочем столе (не забудьте включить все предупреждения и отладочную информацию, например, gcc -Wall -Wextra -g с помощью GCC), протестируйте большую его часть на своем рабочем столе, а затем адаптируйте и портируйте для своего Arduino. Отладка некоторого кода на ноутбуке или настольном компьютере намного проще, чем отладка на Arduino.

Позже вы скомпилируете тот же исходный код для своего микроконтроллера..

Поделиться
Улучшите это ответ
изменён 23 апр. ’18 в 12:12
ответил 23 апр. ’18 в 8:48
добавить комментарий |

Я начинаю работать с микроконтроллерами и программировать их на языке C.

На практике это важное соображение. Я предполагаю, что ваш микроконтроллер что-то вроде Arduino (или, возможно, Raspberry Pi).

В общем, вам нужен кросс-компилятор. Затем вы выполните кросс-компиляцию на своей настольной системе (например, в некотором Linux, который очень удобен для разработчиков; но вы можете найти кросс-компиляторы, размещенные в Windows или MacOSX для Arduinos), ваш исходный код в исполняемый файл, предназначенный для вашего микроконтроллера а затем передать двоичный исполняемый файл на ваш микроконтроллер.

C — сложный язык программирования.

Во многих случаях вы можете скомпилировать свой код прямо на рабочем столе (не забудьте включить все предупреждения и отладочную информацию, например, gcc -Wall -Wextra -g с помощью GCC), протестируйте большую его часть на своем рабочем столе, а затем адаптируйте и портируйте для своего Arduino. Отлаживать некоторый код на портативном или настольном компьютере намного проще, чем на Arduino.

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

Оцените статью
Botgadget.ru
Добавить комментарий