¿Hay un Win32 equivalente al archivo de encabezado de Linux? Estoy trabajando en un puerto de Linux a Windows (y la primera vez que lo hago) y está fallando en este archivo.Windows <sys/file.h> equivalente
Respuesta
Al escribir aplicaciones WIN32API generalmente #include <windows.h>
- que incluye la mayor parte de la API de Windows en su aplicación. Si necesita reducir algunos de esos incluye, #define WIN32_LEAN_AND_MEAN
borrará algunas de las cosas más oscuras de las bibliotecas de Windows.
¿Qué funciones estás tratando de convertir? Probablemente será un caso de usar una función diferente en WIN32; es muy diferente a Linux/Unix/POSIX.
Ejemplo: la función ReadFile()
es más o menos equivalente a read()
en cuanto a la idea general, pero las firmas pidiendo son muy diferentes. ReadFile() 's entrada de MSDN dice:
Cabecera: WinBase.h (incluya Windows.h)
Si está transfiriendo a las ventanas, que sería mucho más fácil cumplir con estándares de la plataforma cruzar , que sumergirse directamente en un puerto nativo de Windows Api (ala CreateFile).
No sé qué funcionalidad hay, parece que forma parte de los archivos de encabezado estándar POSIX, pero no puedo encontrar una referencia en las fuentes de POSIX.
Existen algunos entornos de compilación que puede usar para portar aplicaciones linux/unix a Windows.
- Si su aplicación se atiene a la biblioteca estándar C para cosas como el archivo IO, Dev Studio debería admitir la mayoría de ellas de forma nativa.
<stdio.h>
por ejemplo tiene cosas comofopen
. - MinGW proporciona un conjunto de herramientas, pero utiliza el c-runtime de microsoft, por lo que faltan cosas como pthreads.
- Cygwin es un entorno de compilación POSIX mucho más conforme.
- SUA es la propia oferta de Microsofts.
Para el beneficio de la posteridad, <sys/file.h>
es la versión BSD de archivos de bajo nivel que las rutinas de E/S. Según la instalación del compilador y el entorno de compilación, probablemente querrá <fcntl.h>
. La mayoría de las rutinas de E/S usuales están en <stdio.h>
, incluso setvbuf()
, que es un control de bajo nivel. Querrá <windows.h>
o <conio.h>
si quiere rutinas/configuraciones de E/S que normalmente no existen bajo Linux (o las otras * NICES).
- 1. strptime() equivalente en Windows?
- 2. timespec equivalente para windows
- 3. Windows Equivalente a 'agradable'
- 4. xkill equivalente para Windows
- 5. Windows equivalente a UNIX pwd
- 6. D-Bus equivalente para Windows
- 7. Windows equivalente a/dev/random
- 8. RM -rf equivalente para Windows?
- 9. Equivalente a gettimeday() para Windows
- 10. Equivalente Boost para Windows Eventos
- 11. Windows equivalente a "/ dev/stdin"?
- 12. equivalente de Windows de inet_aton
- 13. F # Equivalente a Enumerable.OfType <'a>
- 14. Enumerable.Empty <T>() equivalente para IQueryable
- 15. CSS equivalente de <big>
- 16. ¿Por qué (?! ^) Es equivalente a (? <! ^)?
- 17. Python equivalente a Perl's while (<>) {...}?
- 18. WPF equivalente a Application.AddMessageFilter (Windows Forms)
- 19. unix comando equivalente "which java" en windows?
- 20. Equivalente a Unix en Windows eval
- 21. Equivalente multiplataforma a eventos de Windows
- 22. Comando de Windows equivalente a egrep
- 23. C Linux equivalente de Windows QueryPerformanceCounter
- 24. ¿El equivalente de ./configure en Windows?
- 25. ¿Hay un equivalente de Make en Windows?
- 26. de Windows Bip() equivalente para Linux
- 27. Linux Mono Equivalente de .NET Windows Service
- 28. ¿Hay un equivalente de <<< EOD en Ruby/Rails?
- 29. Equivalente a "Ver origen" para <mx:HTML> Componente
- 30. anotación equivalente de <aop: scoped-proxy>
MinGW proporciona un, aunque básicamente solo apunta a ... –
susmits