GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Was sollte ich anstelle von windows.h unter Linux verwenden?

Die fehlenden Typedefs (HANDLE usw.) sind nicht Ihr Problem. Ihr Problem ist, dass Linux und Windows völlig unterschiedliche APIs haben, Sie können nicht einfach darauf hoffen, eine auf die andere zu portieren, indem Sie ein paar Typdefinitionen ersetzen.

Der komplette plattformabhängige Teil Ihres Codes muss ersetzt werden. Ihr erster Schritt ist daher, die Linux-API zu lernen. Der beste Weg, dies zu tun, ist, sich ein Buch über Linux-Programmierung zu besorgen.

Darüber hinaus bietet Linux keine Standard-API für die Fensterverwaltung wie Windows. Wenn Sie also eine grafische Anwendung programmieren, müssen Sie auch eine Fensterbibliothek auswählen.


Es gibt sozusagen kein "Äquivalent" für windows.h unter Linux, Sie müssen Ihre Fehler von Fall zu Fall beheben oder besser Ihren Code für Linux neu schreiben (wenn es nicht zu kompliziert ist).

Wenn wir jedoch Windows-spezifische APIs ignorieren, können Sie möglicherweise Typedef-Fehler beheben (DWORD, HANDLE, ...):

#ifndef DWORD
#define WINAPI
typedef unsigned long DWORD;
typedef short WCHAR;
typedef void * HANDLE;
#define MAX_PATH    PATH_MAX
typedef unsigned char BYTE;
typedef unsigned short WORD;
typedef unsigned int BOOL;
#endif

typedef-Quellcode


Linux
  1. Was ist ein Chown-Befehl unter Linux und wie wird er verwendet?

  2. Linux – Wie verwendet man Dhcpcd in Openwrt anstelle von Udhcpc?

  3. So verwenden Sie Python zum Abfragen von WMI (Linux – Windows)

  4. Warum sollte eval in Bash vermieden werden und was sollte ich stattdessen verwenden?

  5. Welches Dateisystem soll verwendet werden, wenn sowohl Windows als auch Linux verwendet werden?

Linux vs. Mac OS:15 Gründe, warum Sie Linux anstelle von Mac OS verwenden sollten

Was ist BusyBox unter Linux? Wie benutzt man es?

Was ist Zsch? Sollten Sie es verwenden?

Wie verwende ich die Linux-Bash-Shell in Windows 10?

Soll ich Linux Server oder Windows wählen?

Kann Windows anstelle von cmd eine Linux-Shell verwenden?