0% found this document useful (0 votes)
4 views4 pages

Compiling Autolisp Files

The document explains how to compile AutoLISP files into a standalone executable module known as a VLX file using Visual Lisp. It details the process of creating an application with the Make Application wizard, including selecting source files and dependencies, and describes the output generated during compilation. Additionally, it introduces the concept of VLISP Projects for managing multiple-file applications and optimizing code compilation.

Uploaded by

wplais
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views4 pages

Compiling Autolisp Files

The document explains how to compile AutoLISP files into a standalone executable module known as a VLX file using Visual Lisp. It details the process of creating an application with the Make Application wizard, including selecting source files and dependencies, and describes the output generated during compilation. Additionally, it introduces the concept of VLISP Projects for managing multiple-file applications and optimizing code compilation.

Uploaded by

wplais
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

Compiling AutoLISP Files

by Kenny Ramage

Visual Lisp provides you with the ability to create a single, standalone executable module for your application. This
module incorporates all your application's compiled files, and can include DCL, DVB, and other files that your
application may need. Executable Visual Lisp modules are known as VLX files, and are stored in files named with
a .vlx extension.

A Make Application wizard guides you through the application building process in Visual Lisp. The result of this
process is a Make file, which is often referred to by its file extension, .prv. The Make file contains all the instructions
Visual Lisp needs to build the application executable.

To test this out, I've provided an AutoLisp Application that consists of an AutoLisp file, and a DCL file. From these 2
files we will compile one VLX executable module. (Just click here to download the source files). Unzip these files
and save them in any directory within your AutoCAD Support Path.

OK, fire up AutoCAD and open the Visual LISP Editor from the Applications panel of the Manage tab on the ribbon.
Now select "Files" - "Make Application" - "New Application" from the pulldown menu :

This dialog will appear :

Select "Expert" mode as we want to compile multiple file types, and then press "Next" :
Enter the path to the directory you would like to store the files in. Select the same directory that you stored the
AutoLisp source files. Then, give your application a name. It does not have to be the same as your AutoLisp source
file, but to spare any confusion, let's keep it the same.

The select "Next" :

No, we do not want our application to run in a separate namespace. Just select "Next" :

Now we need to select our AutoLispsource file. Select "refl.lsp" then press "Next" :

In this dialog, we select and add any dependency files that our application needs to run correctly. Select "refl.dcl"
and then "Next" :
No need to confuse you now, just go with the "Standard" option. Select "Next" :

OK, that's us about done. To build your compiled application, just select "Finish".

VLISP executes instructions in a Make file to build an application. Output messages from this process appear in two
VLISP windows: the Build Output window and the Console window. The Build Output window contains messages
relating to any compilation of AutoLISP source code into .fas files. In a successful compile, the output looks like the
following :

; (COMPILE-FILES st
(D:/drawings/refl.lsp))
[Analyzing file "D:/drawings/refl.lsp"]
..
......
[COMPILING D:/drawings/refl.lsp]
;
;;C:REFL
;CCC
;;MKLIST
;;SPINBAR
;;INITERR
;;TRAP
;;RESET
;
[FASDUMPING object format -> "D:/drawings/refl.fas"]
; Compilation complete.

The compiler messages identify the following items:

 The name and directory path of the source files being compiled.

 The functions defined in the source file. Seven functions are identified: C:REFL, CCC, MKLIST, SPINBAR, INITERR,
TRAP and RESET.

 The name and path of the output .fas files.


The VLISP Console window displays messages relating to the creation of the application executable, the .vlx file. If
the Make Application process succeeds, the Console window displays the path and file name of the .vlx, as in the
following example :
VLX-Application packed D:/drawings/refl.VLX
_$

Have a look in the directory where you stored the source files. You should now have 5 "refl" files :

refl.lsp AutoLisp Program Source file


refl.dcl DCL source file
refl.fas Compiled AutoLisp Program
refl.vlx Executable Visual Lisp Module
refl.prv Application Make file

You can now distribute "refl.vlx" as a compiled application.


Important: You CANNOT edit a VLX file. These 5 files need to be kept in a safe location if you intend to edit or
revise your VLX file.
Loading Compiled AutoLisp Applications :

Loading compiled applications is exactly the same as for normal AutoLisp functions :

(load "refl")

Here's a couple of things to keep in mind :

If you do not specify a file extension, load first looks for a file with the name you specified (for example, "refl"), and
an extension of .vlx. If no .vlx file is found, load searches next for a .fas file, and finally, if no .fas file is found, load
searches for a .lsp file.

VLISP Project
To aid you in the process of maintaining multiple-file applications, VLISP provides a construct called a Project. A
VLISP Project contains a list of AutoLISP source files, and a set of rules on how to compile the files.

Using the Project definition, VLISP can do the following :

 Check which .lsp files in your application have changed, and automatically recompile only the modified files. This
procedure is known as a Make procedure.

 Simplify access to source files by listing all source files associated with a project, making them accessible with a
single-click.

 Help you find code fragments by searching for strings when you do not know which source files contain the text
you're looking for. VLISP limits the search to files included in your project.

 Optimize compiled code by directly linking the corresponding parts of multiple source files.
Have a look at the Visual Lisp Help for further information on Projects.

You might also like