On Unix to Windows Porting Dictionary for HPC page for fork() it's written
There is no equivalent Windows API to the Unix fork() or vfork(). The Microsoft Subsystem for Unix-based Applications (SUA or Interix) is a Unix environment that has fork() and vfork() properly implemented.
and further on the page there's example source code which uses... standard Win32 API CreateProcess
function.
I'm confused.
Shouldn't the example use fork() to illustrate the statement about fork() being implemented by SUA/Interix?
If fork() is really implemented which header and lib files does it live in?
The page you're looking at is the *nix to Windows porting guide. It doesn't show you how to use
fork()
but the closest win32 equivialent,CreateProcess
. The pages there documents which Win32 function you should use instead of Unix functions.You'll need the subsystem for Unix and the SUA SDK to use
fork()
. There you'll get a *nix environment on Windows,fork()
will be in the usualunistd.h
library, and you'll link tolibc.so
(using gcc) to use it.