Я - новичок на языке программирования C. Я прохожу курс прямо сейчас, но у меня есть небольшая проблема, которая петляется для тестирования.
Я открыл gedit, и я записал те строки кода:
int main(int argc, char *argv[])
{
puts("Hello world.");
return 0;
}
и когда я пытаюсь выполнить его после предоставления правильных полномочий с этой командой
chmod +x file.c
и выполненный этой командой
./file.c
они выстраивают в линию шоу в терминале
./file.c: line 1: syntax error near unexpected token `('
./file.c: line 1: `int main (int argc, char *argv[])'
Где проблема??
Необходимо скомпилировать программу, прежде чем можно будет выполнить ее. Чтобы сделать это, Вам будет нужен компилятор C, как gcc
. Можно установить это с:
sudo apt-get install gcc
Затем для компиляции программы, создавая исполняемый файл, названный file
:
gcc -Wall -o file file.c
, Который необходимо затем смочь выполнить:
./file
TCC Fabrice Bellard, кажется, находится все еще в репозиториях. Это может работать в своего рода режиме интерпретатора, который делает следующее возможное:
можно сделать простой исполняемый файл C-файла как OP попробованным, чтобы сделать путем добавления строки
#!/usr/bin/tcc -run
в очень главный из файла.
Это также принимает вход от STDIN путем добавления пустой опции (просто знак "минус" -
) в конце.
$ /usr/bin/tcc -run - <<EOF
> #include <stdio.h>
> int main()
> {
> printf("Hello World\n");
> return 0;
> }
> EOF
Hello World
или с echo
echo '#include <stdio.h> int main(){printf("Hello World\n");return 0;}' | /usr/bin/tcc -run -
или просто выполненный /usr/bin/tcc -run -
вводят Ваш код и запускаются, выполнение с CTRL + D
Кажется бесполезным и глупым, но последний метод является самым быстрым (для меня, YMMV и т.д.), чтобы проверить на функцию в крупной библиотеке, искать точное значение константы и т.д., И это является маленьким (180k), который делает это подходящим вариантом для, например, Raspberry Pi.
Основной недостаток: разработка остановилась (последняя версия с 2013).
AFAIK, необходимо скомпилировать код C прежде, чем выполнить его как так:
gcc file.c
Язык C в отличие от Python не является языком интерпретации. Исходный код C или просто код записанная потребность, которая будет скомпилирована сначала для создания этого исполняемым файлом т.е., машиночитаемая форма. Необходимо сначала скомпилировать его при помощи команды
cc - стены filename.c
cc - компилятора GCC
- Стены - Проверок на ошибку
filename.c - файл, в котором код C сохраняется с.C расширением.
Вы получите исполняемый файл, названный "a.out" в рабочем каталоге Вашего исходного кода.
У меня есть небольшая проблема, которая петляется
Отвечать на Ваш вопрос:
Где проблема??
достаточно сказать, что Вы еще не можете выполнить исполняемый файл, потому что Вы еще не произвели его. Ваш файл, file.c
, "исходный код", записанный на языке "C". Этот исходный код не что-то, что является исполняемым файлом, потому что язык C был разработан, чтобы быть записываемым в легком для понимания пути (по крайней мере, 'легкий' по человеческим стандартам... даже затем, это не легко сначала - но это легче get's). (Источник) код, который Вы пишете, затем преобразовывается в форму, которую компьютер может считать легко. Этот процесс называют, 'компилируя'. Компиляция создает файл, который является исполняемым файлом компьютером. Именно этот шаг Вы не сделали. Если Вы вводите
which gcc
и Вы возвращаете что-то как /usr/bin/gcc
затем у Вас есть gcc, уже установленный в Вашей системе. Если Вы ничего не возвращаете - затем Вы не делаете. Если у Вас нет gcc затем, можно получить gcc (если у Вас есть соответствующие полномочия) путем выполнения:
sudo apt install gcc
(Склонный NB: не мог бы работать, если Вы находитесь на некотором более старом выпуске дистрибутива Linux - можно заменить его apt-get
)
Если Вы действительно имеете gcc
затем пойдите прямо вперед и тип:
gcc file.c
и Вы найдете исполняемый файл названным a.out
волшебно появился в Вашем каталоге. Это - файл, который Вы искали. Выполните его с
./a.out
Другие ответы имеют другие вещи как -o
и -Wall
о котором можно узнать через руководство для gcc
к которому можно получить доступ путем ввода:
man gcc
Это должно сохранить, Вы идущий в течение нескольких лет... приветствуете в кодировании - Обладают!