Can I write libPOSIX for Windows (Win32) without having to download a background service or DLL?

I know about Cygwin, and I know about its flaws. I also know about slowness fork, but not about why on Earth it is impossible to get around. I also know that Cygwin requires a DLL. I also understand that POSIX defines the whole environment (shell, etc.), which is not exactly what excites me here.

My question asks if there is another way to solve the problem. I see more and more POSIX features implemented in MinGW projects, but there is no complete solution providing full-scale (comparable to Linux / Mac / BSD implementation) POSIX functionality.

The question really comes down to: Is it possible to efficiently use the Win32 API (like the MSVC20?) To provide a full POSIX level over the Windows API?

Perhaps it will be full libc, which only enters the OS library for low-level things, such as file system access, threads, and process control. But I don’t know exactly what POSIX consists of. I doubt the library can turn Win32 into POSIX compatible.

+5
source share
3 answers

POSIX <> Win32.

If you are trying to write POSIX-targeted applications, why aren't you using any * N * X option? If you prefer to run Windows, you can run Linux / BSD / whatever inside Hyper-V / VMWare / Parallels / VirtualBox on your PC / laptop, etc.

Windows , POSIX, Win32, NT4 - . Microsoft Interix Unix (SFU). , SFU 3.5 .

, fork , , fork - " ", " ( ), ".

* N * X , (.. ), , . . , UNIX .

NT, , , . NT , , . .

IPC, RPC, , mailslots, , , .. .

UNIX, CygWin 'fork' ( ) . .

, POSIX, * N * X, NT.

+5
+1

: Win32 API ( MSVC20??) POSIX Windows API?

: .

"Complete POSIX" fork(), mmap(), signal() .., NT.

: GNU Hurd fork(), , ​​Hurd POSIX.

NT POSIX.

:

  • POSIX- . (). shm ( ), . , , ( ?).

  • NT , . , .

- NT, ( Vista ) . , , . , . , , POSIX , . , , , POSIX , , , POSIX. symlinking API/ , , , POSIX.

POSIX (, " ", - "select()", [] , - , POSIX (.. , ... , POSIX-).

POSIX, , POSIX, , , .

+1

All Articles