SetEnv的危险
大家好,好的,前一段时间我在这里与David Bethel交谈,他提出了在LISP程序中使用“setenv”和“getenv”的危险点。
他提到,他们将“使登记处膨胀”。
我只是想发一条帖子,征求大家对这件事的意见,看看是否应该完全避免这些命令。
谢谢 嘿Lee Mac,
到目前为止,我的LISP中的这些命令没有任何问题。你帮我学习了distance LISP,我想记住上次输入的内容,但这并没有造成任何问题。然而,我经常只使用1到2个不同的距离,每次重复多次来测量所有设备。如果您开始使用多个条目,我可以看到它可能会对注册表或内存造成严重破坏。
只是我的输入。。。 >李·麦克
我相信在lisp程序员中,有一些偏见没有充分的基础。他们中的许多人都建立了一个信誉良好的人谁也无法想象的效果。例如,函数GRREAD、VLAX-LDATA、SETENV、GETENV和其他函数。然而,如果你试图问一个特定的问题:你最可能遇到的问题是谁、什么时候、什么问题,那么你很可能得不到具体的答案。关于函数以及SETENV和GETENV,我认为它们的使用没有任何限制。就注册表中的碎片而言,普通用户有成千上万个不必要的键,而10-20或50个其他用户使用的键对其没有任何影响。同时,更准确地知道函数SETENV创建的所有键的路径都在寄存器中。相反,使用VL-REGISTRY-WRITE创建的键可能真的被忘记了。当然,数据可以存储在*中。ini文件使用长的特殊功能或以自己的文件格式,但对于短程序,人们在论坛上共享是不可接受的。当然,不必要地使用SETENV大型程序,但可以使用较小的代码。
我真的没有发现使用SETENV/GETENV有任何问题。这是我个人的观点,可以质疑。 谢谢大家的意见。
我很喜欢阅读你的文章《ASMI》,它内容丰富,为我提供了正确的视角。
我通常会使用这些命令来存储程序的“基本变量”,即文本高度、文本偏移量等以及该特定程序的其他关键参数所以这些通常只是分配给不同字符串的数值。
我喜欢你表达的观点,即平均注册表中充满了大量未使用的键,另外30-50个不会有任何伤害,但我也可以看到过度使用这些函数很快会产生多大的影响。
谢谢你抽出时间。
李 >李·麦克
然而,我想说的是,不要滥用这些功能。当您真的想要保存下一个会话可能需要的内容时,应该使用它们。并采取措施确保密钥的唯一性和数据的验证。必须记住,在这种情况下,存储场所是公共场所,这不是很好
ASMI很好-我不觉得我滥用了这些设置,但是的,必须考虑这些函数的命名,否则,系统变量可能会被无意中覆盖。。。 李,
这是我的R15注册卡。我为我的网络设置了净值。我映射了6台机器和9个硬盘。每个硬盘都有永久的驱动器号标识,这样我就可以辨别某些文件放在哪里。
主要Cad高清地图为M
互联网工作机器映射为Z
将服务器地图打印为P
Web服务器映射X
等等
每台机器以相同的方式映射所有其他机器。我不相信你能以同样的方式映射你自己的C驱动。
如果我想在任何一台机器上运行ACAD时在Z驱动器上创建文件
所以我想问题是:
[列表]
[*]您知道已经存在哪些环境名称吗
[*]确实知道所有受保护的名称是什么(我认为路径是1)
[*]您知道什么程序设置了该值,以便您可以重用它吗?
我并不是说你根本不应该使用它们。我只是觉得你应该对他们非常小心-大卫
谢谢你的信息大卫-我想我应该小心当我从现在开始使用这些功能。
“LEEMAC让我做的”~~真棒。 也许是逃生路线?。。。。 顺便问一下,大卫,为什么是橙色?
页:
[1]
2