How do I call the initialization function from the interpreter?
The initialization function cannot be directly called, so I would rather recommend the following solution. First, file2.lisp is changed as below. Then, instead of calling a function, we verify that the library is available by serching for a symbol
(si::find-foreign-symbol "sample_function" "name-of-dll" :pointer-void 0)
---- file2.lisp ---- #+ecl (ffi:clines " extern int sample_function();
int sample_function() { return 0; } ")
OK. Well, I added a test for dll-op, so in the future, this functionality will hopefully keep working. I didn't add a test for monolithic-dll-op, though. Sigh.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org My opinions may have changed, but not the fact that I am right.