2009-10-14 118 views

回答

1

如果您设置的目录结构如下所示:

/ 
/src/ 
/ebin/ 

,把你的模块(例如“my_file.erl”)中的“/src /“目录然后编译它(Cc Ck),那么Emacs应该自动将光束放入”/ ebin /“目录。但是,如果您的模块不在名为“/ src /”的目录中(或者如果“ebin”目录丢失),则光束将与源文件一起丢弃。

要确切地了解其工作原理,请点击$ERL_TOP/lib/tools/emacs/erlang.el并搜索“ebin”。这里是你会发现什么:当加入

(defun inferior-erlang-compile-outdir() 
    "Return the directory to compile the current buffer into." 
    (let* ((buffer-dir (directory-file-name 
       (file-name-directory (buffer-file-name)))) 
    (parent-dir (directory-file-name 
       (file-name-directory buffer-dir))) 
     (ebin-dir (concat (file-name-as-directory parent-dir) "ebin")) 
    (buffer-dir-base-name (file-name-nondirectory 
       (expand-file-name 
       (concat (file-name-as-directory buffer-dir) 
        "."))))) 
    (if (and (string= buffer-dir-base-name "src") 
     (file-directory-p ebin-dir)) 
    (file-name-as-directory ebin-dir) 
     (file-name-as-directory buffer-dir)))) 

不知道这好极了,但它在OTP_R13B03,它在R14B03为我工作。