明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2979|回复: 1

关于这个SharpLISP,我刚看了一下,感觉是一个LISP->arx的工具...

[复制链接]
发表于 2002-7-10 23:13:00 | 显示全部楼层 |阅读模式
关于这个SharpLISP,我刚看了一下,感觉是一个LISP->arx的工具,他分析你写的LISP,然后转成相应功能的C++代码.最后用编译这个转换出来的C++程序.

不过看到其头文件中的那些函数声明,SharpLISP的开发者几乎完全用C++重写了所有的LISP函数,
确实对理解LISP和C++都很有启发....
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2003-5-2 23:13:00 | 显示全部楼层

求教

本人采用Alisp编制几个小程序,并且一直在使用,现采用SharpLisp编译时,出现如下错误
不知为何原因,特来信求教。(下附编译信息及原程序)

编译信息:
--------------------Configuration: acad - Win32 Release--------------------
Processing: D:\slisp\lsp\cadd.lsp - Pass 1...
Writing out 0 global variables.
Total Line Count: 73
Processing: D:\slisp\lsp\cadd.lsp - Pass 2...
Processing: D:\slisp\lsp\cadd.lsp - Processing...
Begin possible local variable search:
0 Global variables were found that could be set as local variables.
Compiling...
StdAfx.cpp
DocData.cpp
Variable.cpp
StringLexicon.cpp
resbuf.cpp
DebuggingInfo.cpp
setvar.cpp
setq.cpp
getvar.cpp
findfile.cpp
getstring.cpp
strcase.cpp
open.cpp
read-line.cpp
cons.cpp
read.cpp
close.cpp
getpoint.cpp
ssget.cpp
list.cpp
eq2.cpp
Generating Code...
Compiling...
alert.cpp
exit.cpp
getint.cpp
sslength.cpp
lessthan.cpp
ssname.cpp
entget.cpp
cdr.cpp
assoc.cpp
wcmatch.cpp
car.cpp
subst.cpp
length.cpp
nth.cpp
acad_strlsort.cpp
prin1.cpp
princ.cpp
_cadd.cpp
D:\slisp\lsp\acad\_cadd.cpp(83) : error C2065: 'open' : undeclared identifier
D:\slisp\lsp\acad\_cadd.cpp(93) : error C2065: 'close' : undeclared identifier
acad.cpp
Generating Code...
Linking...
LINK : fatal error LNK1181: cannot open input file ".\Release\_cadd.obj"
Error(s).

以下为原程序:
(defun C:cadd (/ s zb zb1 spt spt1 lis1 lis en sn mn s1 n f1 i ii pt1 pt2 sl1 sl1l sl1l1 sl2l m m1)
  (setvar "cmdecho" 0)
  (setq s (strcat (getvar "dwgprefix") "窗统计.txt"))
  (if (findfile s)
    (progn
      (setq n (getstring "\nDATA already exist!Recorve it[Y/N]:<N>"))
      (if (/= (strcase n) "Y")
        (progn
          (setq f1 (open s "r"))
          (while (setq zb1 (read-line f1))
            (setq zb (cons (read zb1) zb))
          )
          (close f1)
        )
      )
    )
  )
  (setq pt1 (getpoint "No.1: "))
  (setq pt2 (getpoint "No.2: "))
  (setq s1 (ssget "c" pt1 pt2 '((0 . "TEXT")                                                             
                                (8 . "门窗名称")                                                                                    
                               )))
  (if (= s1 nil)
    (progn
      (Alert "未发现符合层号条件的字符")
      (exit)
    )
  )  
  (if (= (setq mn (getint "\n标准层数<1>: ")) nil)
    (setq mn 1)
  )  
  (setq lis1 (CaddDef s1 mn zb))
  (setq f1 (open s "w"))
  (foreach spt1        lis1
    (prin1 spt1 f1)
    (princ "\n" f1)
  )
  (close f1)
  (setvar "cmdecho" 1)
  (princ)
)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-26 11:44 , Processed in 0.184716 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表