человечность, синтаксическая ошибка около неожиданного маркера' ('

Я хочу запустить c программу на человечности 18.04 на виртуальной машине, и я получаю эту ошибку:

./test.c: line 3: syntax error near unexpected token `('
./test.c: line 3: `void main(int argc, char** argv)'

Я скомпилировал и петлял как это:

gcc -o test test.c
./test.c

Я дал разрешение использованию папки:

sudo chmod a+rwx

Я искал онлайн, и что я знаю, то, что (специальный символ в оболочке/терминале, но я не мог понять/найти способ использовать ее, когда я пишу код без ошибки.

Кто-то может помочь мне решить эту проблему?

1
задан 8 October 2018 в 21:48

1 ответ

В gcc -o test test.c test после -o флаг является названием фактического исполняемого файла, таким образом, необходимо работать ./test. Когда Вы делаете ./test.c оболочка попытается считать Ваш исходный код C (который является просто текстовым файлом) как сценарий оболочки, и выполните его согласно синтаксису текущей оболочки (т.е. окружите попытки считать его сценарий оболочки, не, как скомпилировано C код).

На ноте стороны не используйте test как называют для исполняемого файла. Уже существует /usr/bin/test и это может привести к беспорядку позже. И в целом использование системных исполнимых названий персональных программ является просто плохой практикой

2
ответ дан 7 December 2019 в 13:21

Другие вопросы по тегам:

Похожие вопросы: