(lispref.info)Byte Compilation

Next: Debugging Prev: Loading Up: Top

Byte Compilation

   GNU Emacs Lisp has a "compiler" that translates functions written in
Lisp into a special representation called "byte-code" that can be
executed more efficiently.  The compiler replaces Lisp function
definitions with byte-code.  When a byte-code function is called, its
definition is evaluated by the "byte-code interpreter".

   Because the byte-compiled code is evaluated by the byte-code
interpreter, instead of being executed directly by the machine's
hardware (as true compiled code is), byte-code is completely
transportable from machine to machine without recompilation.  It is not,
however, as fast as true compiled code.

   In general, any version of Emacs can run byte-compiled code produced
by recent earlier versions of Emacs, but the reverse is not true.  In
particular, if you compile a program with Emacs 18, you can run the
compiled code in Emacs 19, but not vice versa.

   Note: Compilation Errors, for how to investigate errors occurring
in byte compilation.

* Compilation Functions
Byte compilation functions.
* Eval During Compile
Code to be evaluated when you compile.
* Byte-Code Objects
The data type used for byte-compiled functions.
* Disassembly
Disassembling byte-code; how to read byte-code.

automatically generated by info2www