When compiling a project, Visual LISP can directly and indirectly link to the function calls in your project.
If you instruct the Visual LISP compiler to link functions in your project directly, the compiler tries to resolve all explicit function calls by referencing the function's definition in memory. In contrast, when you indirectly link your functions, the compiler creates references to symbols that Visual LISP later uses to look up the actual memory location of the function. Direct linking improves the performance of the compiled code and protects the code against function redefinition. However, if your application needs to redefine a function, you cannot directly link that function.
Once functions are directly linked, the compiler can optimize one level further by dropping the function name completely so that the function becomes invisible to users and masked from other programs.