В дополнение к отличному ответу sds
, здесь представлена перспектива Windows.
В среде командной строки на Windows, или Unix, вы бы не столкнуться с этой проблемой, потому что это было бы ясно, что вы находитесь в определенном «текущем рабочем каталоге»:
C:\Users\me\lisp_project> clisp -q
[1]> (load "example.lisp")
То есть , загрузка файла с использованием относительного пути будет относиться к этому каталогу. В приведенном выше сценарии ясно, что если файл C:\Users\me\lisp_project\example.lisp
, это то, что загружено (если кто-то не переконфигурировал custom:*load-paths*
, чтобы не смотреть в текущем рабочем каталоге).
При запуске процесса с использованием графического интерфейса Windows Explorer он все еще имеет текущий рабочий каталог. Если вы запустите процесс, запустив файл .exe
, его рабочий каталог - это каталог, в котором находится .exe
.
Если вы запускаете исполняемый файл с помощью ярлыка, текущий рабочий каталог определяется свойством ярлыка. Вы можете отредактировать это: щелкните правой кнопкой мыши на ярлыке и измените каталог «Начать в» на все, что захотите.
Другими словами, вы можете сделать ярлык для clisp.exe
, поместить его в любую папку, в которой вы работаете, и заставить ее «начать» в этой папке.
Этот подход должен работать для любого переводчика языка, включая те, которые не имеют сложности CLISP custom:*load-paths*
.
Привет, Сэм, может ли этот пользователь использовать 'clisp-2.49-win32-mingw-ming-big.exe' из Sourceforge? Это напоминает мне, посмотрите на это: http://www.kylheku.com/cygnal/ Друзья не позволяют друзьям использовать MingGW. :) – Kaz