Как мне выполнить файл в Cygwin? - PullRequest
45 голосов
/ 30 августа 2008

Как выполнить a.exe с помощью оболочки Cygwin?

Я создал C-файл в Eclipse в Windows, а затем использовал Cygwin для перехода в каталог. Я вызвал gcc на исходный файл C, и a.exe было произведено. Я хотел бы запустить a.exe.

Ответы [ 9 ]

73 голосов
/ 30 августа 2008

. / A.exe в командной строке

10 голосов
/ 30 августа 2008

вы просто сможете позвонить, введя имя файла. Возможно, вам придется позвонить ./a.exe, поскольку текущий каталог обычно не находится в пути по соображениям безопасности.

6 голосов
/ 30 августа 2008

просто введите ./a в оболочке

2 голосов
/ 10 ноября 2010

gcc под cygwin не генерирует исполняемый файл Linux для вывода типа «ELF 32-битный исполняемый файл LSB», но он генерирует исполняемый файл Windows типа «PE32 исполняемый для MS Windows», который зависит от cygwin1.dll, поэтому это должно быть запущено под оболочкой cygwin. Если вам нужно запустить его под приглашением dos независимо, они должны находиться в вашей переменной Windows PATH.

-AD.

2 голосов
/ 30 августа 2008

Томас написал:

Очевидно, что gcc не ведет себя так, как описано в языке программирования C *

Это вообще так. Чтобы ваша программа работала в Windows, она должна заканчиваться на .exe, «язык программирования C» не был написан для программистов Windows. Как вы уже видели, cygwin эмулирует многие, но не все функции среды POSIX.

2 голосов
/ 30 августа 2008

Чтобы выполнить файл в текущем каталоге, используйте следующий синтаксис: ./foo

Как уже упоминал allain, ./a.exe - это правильный способ выполнить a.exe в рабочем каталоге с помощью Cygwin.

Примечание. Вы можете использовать параметр -o для cc, чтобы указать собственное имя выходного файла. Примером этого может быть: cc helloworld.c -o helloworld.exe.

1 голос
/ 30 августа 2008

Очевидно, что gcc не ведет себя так, как описано в языке программирования C, где говорится, что команда cc helloworld.c создает файл с именем a.out, который можно запустить, введя a.out в командной строке.

Unix не вел себя таким образом по умолчанию (так что вы можете просто написать имя исполняемого файла без ./ спереди) в течение длительного времени. Он называется a.exe, потому что иначе Windows не будет его выполнять, так как он получает типы файлов с расширением.

0 голосов
/ 11 февраля 2015

Когда вы запускаете Cygwin, вы находитесь в зоне "/ home / Administrator", поэтому поместите туда файл a.exe.

Затем в командной строке:

cd a.exe

Cygwin прочитает его, и вам будет предложено установить его.

0 голосов
/ 30 августа 2008

Просто назовите это

> a

Убедитесь, что он будет найден (путь).

...