On Wednesday, May 31, 2006 2:54 AM Gernot Hueber wrote:Due to that I want to call external library functions from within Aldor/Axiom I did some trials with Aldors "Foreign" and GCL "defentry" commands. First of all, an example that work (partly), adapted from the aldor users guide. The following definition needs to be compiled by lisp: lisp (defentry |myprintf| (string) (int "printf")) lisp >> System error: (SYSTEM "gcc -c -Wall -DVOL=volatile -fsigned-char -pipe -I/usr/local/lib/gcl-2.6.8/unixport/../h -O3 -fomit-frame-pointer -c \"/var/zope2/var/LatexWiki/8624266922497102717-25px001.c\" -o \"/var/zope2/var/LatexWiki/8624266922497102717-25px001.o\" -w") returned a non-zero value 0. When this is compiled inside Axiom, the symbol |myprintf|
becomes known inside the aldor #include "axiom.as" aldor Compiling FriCAS source code from file
/var/zope2/var/LatexWiki/6328445021691863648-25px002.as using
AXIOM-XL compiler and options
-O -Fasy -Fao -Flsp -laxiom -Mno-AXL_W_WillObsolete -DAxiom -Y $AXIOM/algebra
Use the system command )set compiler args to change these
options.
#1 (Warning) Deprecated message prefix: use `ALDOR_' instead of `_AXL'
Compiling Lisp source code from file
./6328445021691863648-25px002.lsp
Issuing )library command for 6328445021691863648-25px002
Reading /var/zope2/var/LatexWiki/6328445021691863648-25px002.asyNow call it: axiom arigato() Here is a slightly more interesting example that compiles some C language code and calls it from Aldor. Note: clines is a GCL-specific extension lisp (clines " lisp Value = 416 aldor #include "axiom.as" aldor Compiling FriCAS source code from file
/var/zope2/var/LatexWiki/4532111654619318497-25px005.as using
AXIOM-XL compiler and options
-O -Fasy -Fao -Flsp -laxiom -Mno-AXL_W_WillObsolete -DAxiom -Y $AXIOM/algebra
Use the system command )set compiler args to change these
options.
#1 (Warning) Deprecated message prefix: use `ALDOR_' instead of `_AXL'
Compiling Lisp source code from file
./4532111654619318497-25px005.lsp
Issuing )library command for 4532111654619318497-25px005
Reading /var/zope2/var/LatexWiki/4532111654619318497-25px005.asyNow try it: axiom arigato2()
Type: PositiveInteger
Here is a simple way to output a string by calling the Lisp function PRINC. aldor #include "axiom.as" aldor Compiling FriCAS source code from file
/var/zope2/var/LatexWiki/7406390156942832244-25px007.as using
AXIOM-XL compiler and options
-O -Fasy -Fao -Flsp -laxiom -Mno-AXL_W_WillObsolete -DAxiom -Y $AXIOM/algebra
Use the system command )set compiler args to change these
options.
#1 (Warning) Deprecated message prefix: use `ALDOR_' instead of `_AXL'
Compiling Lisp source code from file
./7406390156942832244-25px007.lsp
Issuing )library command for 7406390156942832244-25px007
Reading /var/zope2/var/LatexWiki/7406390156942832244-25px007.asyTry it. axiom output("stuff")
Type: Void
|