7k8m / xyzzy

xyzzy 0.2.2 系列を元に、0.2.4として開発を進めています。

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

funcall_dll in dll.cc crashes in x64

7k8m opened this issue · comments

Again problem of x64 convention, it seems ...

LISP next fails.

(labels ((c (name) (find-symbol name :c)))
   (require "foreign")
   (eval `(,(c "define-dll-entry")
           ,(c "double")
           strtod (,(c "char*") (,(c "char*") *))
           "msvcrt"))
   (strtod (si:make-string-chunk "123") 0))

Programmed asm code to handle x64 convention
9fca0f4

However, some more improvement might be needed ...

Furthermore, implementing float and/or double parameter is not easy ....

Drop support of float/double in argument of function in Dll is an option.