Missing beam.dll exports in R9C-2 for Windows

James Hague jamesh@REDACTED
Tue Sep 21 20:25:17 CEST 2004


> Okay, thank you.  Somehow I don't ever recall reading this in 
> the release
> notes; I must have missed it.

I have this sorted out now.  The problem was that the method of dynamically
linking in a driver under Windows changed quite a bit.  Rather than the
driver code referencing symbols in beam.dll and having the DLL loader
resolve them, there's now a table of function pointers passed to the driver
upon initialization.  This is cleaner than the old method, and makes it
easier to see what functions a driver can access.

erl_driver.h attempts to hide the changes, so you can simply recompile after
a few tweaks.  But this only works if the driver is written in C.  In my
case, I used Delphi, so I had to write my own erl_driver equivalent.  It's
easy enough to change, but it would have been nice to see a more up front
mention of the driver linkage changes.  Perhaps in R10?

James



More information about the erlang-bugs mailing list