Я предполагаю, что вы следуете рецепту или учебнику, который был разработан для Unix-подобных систем, таких как Linux, но вы используете Windows.
В Linux символ .
означает текущий каталог, а косая черта /
- разделитель каталогов. Итак, это:
./a.out
относится к файлу с именем a.out
в текущем каталоге.
В Windows .
по-прежнему относится к текущему каталогу, но вместо прямой косой черты обратная косая черта \
используется для разделения каталогов. Итак, это:
.\a.out
относится к файлу с именем a.out
в текущем каталоге.
Однако это еще не ответ: в Linux, если вы не укажете иное, команда g ++ создаст исполняемый файл с именем a.out
(странное имя, но оно названо так по историческим причинам). Однако в Windows это недопустимое имя для исполняемого файла, поскольку Windows требует, чтобы исполняемые файлы заканчивались на .exe
. В результате, если вы не укажете другой способ, исполняемый файл будет назван:
a.exe
Еще одно отличие: в Windows путь по умолчанию включает текущий каталог, поэтому вам даже не нужно указывать .\
на передней панели.