CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 文档中心

编译 AutoLISP 文件

2023-1-8 07:35| 发布者: admin| 查看: 220| 评论: 0|来自: AutoCAD

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

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

注意:编译和加载已编译的 LSP 文件的功能仅在 Windows 上受支持。

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

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

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

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

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

  • 将单个 AutoLISP 文件放入具有函数或“生成应用程序向导”(MAKELISPAPP命令)的应用程序文件中。vlisp-compile
  • 许多 AutoLISP 文件使用“生成应用程序向导”(MAKELISPAPP命令)将文件放入单个应用程序模块中。

应用模块

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

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

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

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

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

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

路过

雷人

握手

鲜花

鸡蛋

最新评论

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

GMT+8, 2024-5-19 15:26

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部