Why not just use full-on WINE? The basic system calls are pretty much fully covered. It seems this duplicates a lot of work.
Are the Windows API implementations of WINE usable by a native Linux program (eg as a library of some sort)? That seems to be the requirement here.
Porting Windows Dynamic Link Libraries to Linux
11–20 of 44 posts
Re: Porting Windows Dynamic Link Libraries to Linux
#12Re: Porting Windows Dynamic Link Libraries to Linux
#13Re: Porting Windows Dynamic Link Libraries to Linux
#14I implemented everything it needed. COM functions like CoCreateInstance, entry points like DllCanUnloadNow, Windows Sockets and whatnot.
The registry API! Ha. I mapped HKEY_CURRENT_USER to configuration files rooted in the user's home directory, and HKEY_LOCAL_MACHINE to /etc.
The lib's DllRegisterServer nicely registered its COM class inside the fake registry.
Don "COM is Love" Box would have teared up had he seen this.
Re: Porting Windows Dynamic Link Libraries to Linux
#15Why not just use full-on WINE? The basic system calls are pretty much fully covered. It seems this duplicates a lot of work.
Are the Windows API implementations of WINE usable by a native Linux program (eg as a library of some sort)? That seems to be the requirement here.
Re: Porting Windows Dynamic Link Libraries to Linux
#16Did this close to twenty years ago. Ported a COM DLL to Linux and one of the executables using it. I implemented everything it needed. COM functions like CoCreateInstance, entry points like DllCanUnloadNow, Windows Sockets and whatnot. The registry API! Ha. I mapped HKEY_CURRENT_USER to configuration files rooted in the user's home directory, and HKEY_LOCAL_MACHINE to /etc. The lib's DllRegisterServer nicely register…
Re: Porting Windows Dynamic Link Libraries to Linux
#17Re: Porting Windows Dynamic Link Libraries to Linux
#18Did this close to twenty years ago. Ported a COM DLL to Linux and one of the executables using it. I implemented everything it needed. COM functions like CoCreateInstance, entry points like DllCanUnloadNow, Windows Sockets and whatnot. The registry API! Ha. I mapped HKEY_CURRENT_USER to configuration files rooted in the user's home directory, and HKEY_LOCAL_MACHINE to /etc. The lib's DllRegisterServer nicely register…
Re: Porting Windows Dynamic Link Libraries to Linux
#19Re: Porting Windows Dynamic Link Libraries to Linux
#20This is cool and a lot lighter than WINE, though the important keyword is self-contained Windows libraries. I gather this won't work on DLLs that call any of the plethora of Windows APIs. I'm actually very surprised that any non-trivial DLLs are self-contained in this way, like his example of Windows Defender which I thought would call 1000 Windows API functions.