Я написал это
# include <stdio.h>
int main () {
printf ("Hello, World! \n");
return 0;
}
Я попытался скомпилировать его с помощью SciTE, он пришел
cc -pedantic -Os -c hello.c -o hello.o -std=c99
>Exit code: 0
попытался запустить его, а затем пришел ч:
1: ./hello: not found
>Exit code: 127
Я думаю, что путь не правильный:
user@user-Aspire-5733Z:~$ echo $PATH
/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/user/bin:/usr/sbin:/usr/bin:/root/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/bin:/sbin:/opt/csw/bin:/opt/csw/sbin:/opt/csw/gcc3/bin:/usr/sfw/sbin:/usr/sfw/bin:/opt/csw/mysql5/bin:/home/user/bin:/usr/sbin:/usr/bin:/root/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/bin:/sbin:/opt/csw/bin:/opt/csw/sbin:/opt/csw/gcc3/bin:/usr/sfw/sbin:/usr/sfw/bin:/opt/csw/mysql5/bin:/home/user/bin:/usr/sbin:/usr/bin:/root/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/bin:/sbin:/opt/csw/bin:/opt/csw/sbin:/opt/csw/gcc3/bin:/usr/sfw/sbin:/usr/sfw/bin:/opt/csw/mysql5/bin:/bin:/bin
Прежде всего после компиляции вы запускаете ./hello
, но такого файла с именем hello
не существует. Попробуйте ls
проверить. У вас есть файлы вроде hello.c
и hello.o
, вероятно.
Кроме того, вы компилируете с флагом -c
, который означает, что исходные файлы компилируются, но не связываются. См. man gcc , чтобы узнать больше. Таким образом, даже если вы попытаетесь запустить ./hello.o
, возникнет еще одна ошибка
bash: ./hello.o: Permission denied
Для правильной компиляции исполняемого файла (со ссылкой) без флага -c
, например
cc -pedantic -Os hello.c -o hello.o -std=c99
Следующий запуск в терминале,
./hello.o
Теперь на выходе вы будете иметь, Hello, World!
Обратите внимание, что ваш терминал bash / zsh может быть другим, например, $, у меня - -
Пожалуйста, посмотрите на URL изображения вместе с инструкциями ниже.