Я хочу запустить 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
Я искал онлайн, и что я знаю, то, что (специальный символ в оболочке/терминале, но я не мог понять/найти способ использовать ее, когда я пишу код без ошибки.
Кто-то может помочь мне решить эту проблему?
В gcc -o test test.c
test
после -o
флаг является названием фактического исполняемого файла, таким образом, необходимо работать ./test
. Когда Вы делаете ./test.c
оболочка попытается считать Ваш исходный код C (который является просто текстовым файлом) как сценарий оболочки, и выполните его согласно синтаксису текущей оболочки (т.е. окружите попытки считать его сценарий оболочки, не, как скомпилировано C код).
На ноте стороны не используйте test
как называют для исполняемого файла. Уже существует /usr/bin/test
и это может привести к беспорядку позже. И в целом использование системных исполнимых названий персональных программ является просто плохой практикой