Next: Building standalone executables, Previous: What can ECL do?, Up: Building programs
ECL supports two types of compilation. One is bytecodes compilation. This process is performed on-the-fly, as you load source files with lisp code. This leads to a series of bytes for each instruction, the so called "bytecodes". These bytecodes are interpreted in a virtual machine, which is written in C and which is reasonably fast.
The other type of compilation is the so-called "native" compilation. This process consists on translating the lisp source file to C language. The intermediate file is later compiled using a C compiler. The result is an object file which may have different purposes.
compile-file. These object files typically have
the .fas extension, and can be loaded with load. They cannot be used
to build libraries nor standalone executable programs.
compile-file with the keyword argument
:system-p set to true. The object file typically has the .o
extension. It cannot be loaded with load, but it can be used to build
libraries, standalone executable programs, or larger FASL files.