CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 文档中心

关于编译器优化条件(Visual LISP IDE)

2023-1-8 01:55| 发布者: admin| 查看: 353| 评论: 0|来自: AutoCAD

摘要: 编译器始终检查优化一致性。如果指定的优化选项与某些安全规则相矛盾,编译器将发出警告消息。

编译器始终检查一致性是否优化。如果指定的优化选项与某些安全规则相矛盾,编译器将发出警告消息。

注意:Visual LISP IDE 仅在 Windows 上可用。

安全规则包括:

链接

仅当满足以下条件时,编译器才会直接链接 AutoLISP 函数调用:

  • 该函数仅定义一次,或者由 AutoLISP 预定义,并且没有用户重新定义它。defun
  • 函数名称不会出现在其他函数的参数列表中。
  • 该函数未在项目中的任何位置分配。

仅当所有相应的函数调用都直接链接到函数定义时,编译器才会尝试删除函数符号。如果程序按函数的符号名称调用函数,则编译器不会删除函数定义的符号。在以下情况下,函数通过符号调用:

  • 该符号将显示在声明中。vl-acad-defun
  • 该函数是从ACTION_TILE操作字符串调用的。
  • 函数符号是 、 或项目中某处的带引号的参数。applymapcareval
注意:对于从顶级表达式调用的函数,将忽略 Drop 声明,而不会显示警告消息。
本地化

如果满足以下任一条件,编译器不会在 、 和 表达式的绑定列表中本地化变量:defunlambdaforeach

  • 变量在外部顶级表达式中具有对它的非本地引用(或赋值)。
  • 该变量按名称作为函数调用。
  • 变量符号显示为顶级 read-eval 循环中某处的函数调用。

除了这些总是会取消优化并导致警告消息的情况之外,还有其他情况可能会导致也可能不会导致代码不正确。编译项目时,请使用项目的“安全优化”选项来禁止这些条件。如果满足这些条件,禁用安全优化将导致编译器警告。


路过

雷人

握手

鲜花

鸡蛋

最新评论

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

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

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部