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