Direkt aus der Windows.h-Headerdatei:
#ifndef WIN32_LEAN_AND_MEAN
#include <cderr.h>
#include <dde.h>
#include <ddeml.h>
#include <dlgs.h>
#ifndef _MAC
#include <lzexpand.h>
#include <mmsystem.h>
#include <nb30.h>
#include <rpc.h>
#endif
#include <shellapi.h>
#ifndef _MAC
#include <winperf.h>
#include <winsock.h>
#endif
#ifndef NOCRYPT
#include <wincrypt.h>
#include <winefs.h>
#include <winscard.h>
#endif
#ifndef NOGDI
#ifndef _MAC
#include <winspool.h>
#ifdef INC_OLE1
#include <ole.h>
#else
#include <ole2.h>
#endif /* !INC_OLE1 */
#endif /* !MAC */
#include <commdlg.h>
#endif /* !NOGDI */
#endif /* WIN32_LEAN_AND_MEAN */
Wenn Sie wissen möchten, was die einzelnen Header tatsächlich tun, wird durch Eingabe der Headernamen in die Suche in der MSDN- Bibliothek normalerweise eine Liste der Funktionen in dieser Headerdatei erstellt.
Auch von der Microsoft-Support-Seite :
Um den Erstellungsprozess zu beschleunigen, bieten Visual C ++ und die Windows-Header die folgenden neuen Definitionen:
VC_EXTRALEAN
WIN32_LEAN_AND_MEAN
Sie können sie verwenden, um die Größe der Win32-Headerdateien zu reduzieren.
Wenn Sie eine dieser Präprozessordefinitionen verwenden und etwas fehlt, das Sie benötigen, können Sie diese spezifische Header-Datei einfach selbst einfügen. Wenn Sie den Namen der Funktion, nach der Sie suchen, in MSDN eingeben, wird in der Regel unten auf der Seite ein Eintrag angezeigt, der angibt, welcher Header bei Verwendung verwendet werden soll.
Neugieriger George
quelle
winsock2.h
besser verwenden möchten, stellen Sie sicher, dassWIN32_LEAN_AND_MEAN
immer definiert ist, da sonst widersprüchliche Deklarationen zwischen den WinSock-Versionen angezeigt werden. Daher gefällt mir die andere Antwort besser, da hier fehlende Details hinzugefügt werden. Insbesondere zeigt es, was der tatsächliche Effekt dieser Definition ist. Beide Antworten sind Papageiendokumentation und die andere ist umfassender, obwohl beide die "Auswirkungen" der Nichtverwendung der Definition (WinSock-Namenskonflikte usw.) nicht erwähnen.