LISP-Code in C++-Programm einbinden
-
Wenn ich eine LISP-Funktion, die (read) und (write) benutzt geschrieben habe, kann ich diese dann irgendwie an ein C++-Programm anbinden?
Am besten wäre es, wenn der LISP-Compiler eine COFF-OBJ-Datei oder eine DLL erstellt oder ein _guter_ LISP->C Compiler (gut == der C-Code ist mindestens genauso schnell wie der ASM-Code des LISP-Compilers).
-
Lisp braucht eine Menge Infrastruktur, die C nicht hat (bzw nicht [sinnvoll] haben kann, wie zB einen Garbage-Collector). Drum wirst Du Probleme haben Lisp-Code auf C-Code abzubilden. Es gibt denoch Ansätzte, die das versuchen. Der gcl, ein prä-Ansi-Lispsystem, spuckt etwas C-ähnliches aus, das der GCC sogar versteht. Das ist zur Interaktion mit C eigentlich recht bequem. Andere Systeme stellen evtl andere Möglichkeiten zur Verfügung. In diesem Fall steht was in der Dokumentation.
Ob so etwas wirklich funktioniert, keine Ahnung, ich habe es, von Spielereien mit dem gcl abgesehen, noch nicht probiert.
-
hmm... wenn das teil asm code produziert, solltes mit C doch keine probleme geben? *g*
-
-
Hm, mir gefällt die LISP->C Variante besser. Gibt es auch eine Windows-Version von Kyoto Common Lisp?
-
äh ups, nich KCL, sondern GCL: http://www.gnu.org/software/gcl/gcl.html