CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 2024 开发者帮助

编译 AutoLISP 文件 (AutoLISP/VS Code)

2024-5-18 19:04| 发布者: admin| 查看: 101| 评论: 0|原作者: admin|来自: AutoCAD

编译 AutoLISP 文件 (AutoLISP/VS Code)

AutoLISP 源 (LSP) 文件在部署或分发之前可以编译为 FAS 和 VLX 文件,以保护和优化其中包含的语句。

注意:编译 LSP 文件的功能仅在 AutoCAD for Windows 中受支持;在 AutoCAD LT for Windows 中不可用。VLX 文件只能在 Windows 上加载。

每次加载 AutoLISP 源代码时,该代码都会转换为计算机理解的指令(可执行代码)。

每次加载源代码时都要翻译源代码的好处是可以更改并立即使用。这对于快速测试新代码和调试代码非常有用。

一旦确定程序工作正常,每次加载 AutoLISP 源代码时翻译它都非常耗时。AutoCAD 提供了一个编译器,用于从源代码文件生成可执行的机器代码文件。这些可执行文件被称为FAS文件。由于可执行文件仅包含机器可读的代码,因此即使将程序部署或分发给数千个用户,您花费数周或数月时间开发的源代码仍将处于隐藏状态。字符串和符号名称在编译时会加密。

AutoCAD 还提供了将复杂的 AutoLISP 应用程序打包到可视 LISP 可执行文件 (VLX) 文件(也称为应用程序模块)中的功能。VLX文件可以包括其他资源文件,如TXT和DCL文件,以及编译的AutoLISP代码。使用 VLX 文件,您可以进一步控制应用程序的操作环境,方法是仅公开您选择公开的那些功能,并在程序的变量和用户可以在 AutoCAD 中与之交互的变量之间保持一堵墙。

有几种方法可以访问和使用 AutoLISP 编译器。选择编译文件的方法取决于要编译的文件数,以及是否要将多个源代码文件编译为单个应用程序文件。您可以编译:

  • 使用函数或 Make Application Wizard(MAKELISPAPP 命令)将单个 AutoLISP 文件转换为应用程序文件。vlisp-compile
  • 使用“生成应用程序向导”(MAKELISPAPP 命令)将多个 AutoLISP 文件放入单个应用程序模块中。

应用模块

AutoCAD 提供了为应用程序创建单个独立可执行模块的功能。

此模块可以包含多个编译文件和源代码文件,并且可以包括 DCL、DVB 和应用程序可能需要的其他文件。可执行的 Visual LISP 模块称为应用程序模块,存储在扩展名为 .vlx 的文件中。

“创建应用程序向导”将指导您完成 AutoCAD 中的应用程序构建过程。此过程的结果是一个应用程序生成 (PRV) 文件,其扩展名为 .prv。该PRV文件包含AutoCAD构建Visual LISP可执行文件(VLX)所需的所有指令。

如果仅更改应用程序源代码的一小部分,则可以让 AutoCAD 重新生成 VLX 文件,同时仅编译更新的文件。

AutoCAD 会根据 PRV 文件中包含的信息重新构建应用程序,并在以下情况下自动编译任何应用程序源代码文件:

  • 该文件没有已编译 (FAS) 版本。
  • 该文件有一个编译版本,但源代码文件的修改日期比 FAS 文件的修改日期更新。
  • 注意:如果更改应用程序选项(例如,从“标准编译模式”更改为“优化和链接”),则必须使用“重新生成应用程序”选项使用指定的更改创建新的应用程序 VLX 文件。“生成应用程序”选项仅检查对源代码文件的更改,而不检查对应用程序选项的更改。

路过

雷人

握手

鲜花

鸡蛋

最新评论

QQ|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1   苏公网安备32011402011833)

GMT+8, 2024-12-15 22:14

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部