Estoy creando un shell de Linux y lo he estado desarrollando en una máquina virtual VirtualBox de Linux en mi PC con Windows 10. Recientemente actualicé a Windows 11 y, por alguna razón, eso hace que la máquina virtual funcione a velocidades insoportablemente lentas. Por lo tanto, sé cómo cumplir y no usar Linux vm, por lo que necesito desarrollar el shell en Windows y ejecutarlo usando WSL2 o cualquier otra línea de comando. ¿Es posible usar las bibliotecas de Linux (p. ej.: <unistd.h>) en Windows?
Sí, si configura WSL2 , debería poder desarrollar C como lo hizo en su máquina VirtualBox. Si decide usar Ubuntu, ejecutar sudo apt-get install build-essential debería brindarle todo lo que necesita para compilar y ejecutar programas en C.
Se llama compilación cruzada. El uso de WSL(2) es una especie de "exceso" solo para crear aplicaciones, pero hace que probar el resultado sea mucho más fácil.
Si todo lo que busca es compilar, pero no ejecutar los ejecutables resultantes, mi sugerencia sería MSys2 + LLVM + Clang. Lo bueno de LLVM/Clang es que siempre es un compilador "cruzado"; puede compilar para cada destino compatible en cada host compatible. https://clang.llvm.org/docs/CrossCompilation.html
También hay compilaciones GCC dirigidas a Linux disponibles en MSys2, por lo que también es una opción.