первая программа в C-bash: ./: является каталогом

#c #compiler-errors

#c #ошибки компилятора

Вопрос:

Я написал короткую первую программу на C в vim.

 int main() {
        printf("Das ist mein erstes Programm. n");
        return 0;
}
  

Затем я компилирую ее с

 cc -o hello.out hello.c
./ hello.out
  

Вчера я мог видеть текст «Das ist mein erstes Programm» в моей консоли.

Сегодня я вижу только:

 -bash: ./: is a directory
  

Я ничего не менял в коде. Кто-нибудь знает, почему у меня теперь «is a directory»?

Большое спасибо

Комментарии:

1. У вас есть пробел между ./ и hello.out — удалите это.

Ответ №1:

Попробуйте скомпилировать с:

 cc -o hello.out hello.c amp;amp; ./hello.out
  

Вы пытаетесь выполнить двоичный файл, сохраняя пробел между ./ и hello.out :

 cc -o hello.out hello.c ./ hello.out
                        ^^^^^^^^^^^^
  

Терминал интерпретирует ./ как каталог.

Комментарии:

1. Спасибо, это работает. Но я все еще не понимаю, почему вчера это работало по-другому, а не сегодня.

2. @LisanaUchiha это не должно было сработать. Это невозможно.