elisp / lisp中的'require'是否阻止重新加载库?

时间:2010-08-26 01:27:58

标签: lisp elisp

对于C / C ++,人们使用#ifdef .. #endif技术来防止重新加载库,而Objective-C使用import来做同样的事情。

lisp / elisp怎么样?如果之前使用过(require'cl),并且某处看到(需要'cl),那么lisp是否足够聪明,不再加载它?或者,有没有办法阻止这个重新加载库?

1 个答案:

答案 0 :(得分:4)

不,elisp不会再次加载它。来自文档(C-h f require):

  

“如果未加载功能FEATURE,请加载   来自FILENAME。“

Common Lisp也是如此:

  

“require函数测试是否a   模块已经存在(使用   区分大小写的比较);如果   模块不存在,要求   继续加载适当的文件   或一组文件。“