WINEGATE.DLL: Wine gateway to native Unix libraries
Dan Kegel
dank at kegel.com
Tue Feb 17 08:56:28 CST 2009
On Tue, Feb 17, 2009 at 6:42 AM, Martin Hinner <martin at hinner.info> wrote:
>> hdll = LoadLibraryA("libwine.dll");
>> wine_dlopen = GetProcAdress(hdll, "wine_dlopen");
>> wine_dlsym = GetProcAdress(hdll, "wine_dlsym");
>> wine_dlclose = GetProcAdress(hdll, "wine_dlclose");
>
> The above doesn't work ... LoadLibraryA fails (returns NULL).
Aha, you're right. libwine is shipped as an .so, not as a .dll.so.
But have a look at wine_dlopen and wine_dlsym,
http://source.winehq.org/source/libs/wine/loader.c#L677
http://source.winehq.org/source/libs/wine/loader.c#L742
They really are very simple wrappers around Unix system
calls. There's no reason you can't write your own wrappers
in assembly inside your winegate, they would probably
only be ten lines or so each.
That would let you compile it as a real .dll instead of a winelib dll.
It's possible this would be less of a maintenance
hassle than shipping winegate as a winelib dll.
- Dan
More information about the wine-devel
mailing list