Esiste un equivalente Win32 per il file di intestazione linux? Sto lavorando su una porta da Linux a Windows (e la mia prima volta) e non funziona su questo file.Windows <sys/file.h> equivalente
risposta
Quando si scrivono le app WIN32API di solito si usa #include <windows.h>
- che include la maggior parte delle API di Windows nell'applicazione. Se è necessario ridurre alcuni di questi include, #define WIN32_LEAN_AND_MEAN
eliminerà alcune delle cose più oscure dalle librerie di Windows.
Quali funzioni stai cercando di convertire? Probabilmente si tratterà di utilizzare una funzione diversa su WIN32; è molto diverso da Linux/Unix/POSIX.
Esempio: la funzione ReadFile()
è approssimativamente equivalente a read()
in termini di idea generale, ma le firme di chiamata sono molto diverse. ReadFile() s 'entrata MSDN dice:
Intestazione: winbase.h (includere Windows.h)
Se si porting su Windows, sarebbe molto più facile da attaccare ad attraversare gli standard di piattaforma , che tuffarsi direttamente in una porta Api Windows nativo (ala CreateFile).
Non so cosa sia la funzionalità, sembra la sua parte dei file di intestazione standard POSIX, ma non riesco a trovare un riferimento ad esso nelle origini posix.
Esistono alcuni ambienti di compilazione che è possibile utilizzare per portare le applicazioni linux/unix a Windows.
- Se l'applicazione si attacca alla libreria standard C per cose come il file IO, Dev Studio dovrebbe supportare la maggior parte di quella in modo nativo.
<stdio.h>
ad esempio ha cose comefopen
. - MinGW fornisce un set di strumenti, ma utilizza il c-runtime microsoft, quindi cose come pthread dovrebbero essere mancanti.
- Cygwin è un ambiente di build POSIX di gran lunga più conforme.
- SUA è l'offerta di Microsofts.
Per il beneficio dei posteri, <sys/file.h>
è la versione BSD delle routine di I/O di file di basso livello. A seconda dell'installazione del compilatore e dell'ambiente di compilazione, probabilmente vorrai invece <fcntl.h>
. La maggior parte delle solite routine di I/O sono in <stdio.h>
, anche setvbuf()
che è un controllo piuttosto di basso livello. Avrai voglia di <windows.h>
o <conio.h>
se vuoi routine/impostazioni I/O che normalmente non esistono sotto Linux (o gli altri * NICE).
- 1. batch Windows equivalente di "fuser -k <folder>"
- 2. voltepec equivalente per windows
- 3. equivalente in windows di inet_aton
- 4. Windows equivalente a UNIX pwd
- 5. Windows equivalente a "/ dev/stdin"?
- 6. Python: signal.pause() equivalente su Windows
- 7. Equivalente Python di Perl's while (<>) {...}?
- 8. F # Equivalente a Enumerable.OfType <'a>
- 9. Cross-Platform equivalente a eventi Windows
- 10. Windows equivalente al readahead di Linux syscall?
- 11. Linux Mono Equivalente di .NET Servizio Windows
- 12. equivalente in file batch di Windows
- 13. unix "which java" comando equivalente su windows?
- 14. equivalente Mac OS dell'API Fibre Windows?
- 15. CodeKit per Mac - equivalente a Windows?
- 16. Equivalente a eval Unix in Windows
- 17. Comando di Windows equivalente di egrep
- 18. Qual è la shell POSIX equivalente di bash <<<
- 19. Esiste un equivalente di <<< EOD in Ruby/Rails?
- 20. Equivalente di "Visualizza origine" per <mx:HTML> Componente
- 21. scalaz 7 equivalente di `<|*|>` da scalaz 6
- 22. Azione <T> equivalente per le proprietà
- 23. Equivalente di std :: aligned_storage <> in C?
- 24. Accesso VBA equivalente a un elenco C# <T>
- 25. Esiste un equivalente Python per C++ "multiset <int>"?
- 26. Java equivalente di .NET Action <T> e Func <T,U>, ecc.
- 27. controllo Asp.net collegamento ipertestuale equivalente a <a href="#"></a>
- 28. equivalente a Windows del comando "open" di Mac OS X
- 29. LD_PRELOAD equivalente per Windows per precaricare le librerie condivise
- 30. "UpdateSourceTrigger = PropertyChanged" equivalente per un TextBox Windows Phone 7
MinGW fornisce uno, anche se essenzialmente punta solo a ... –
susmits