Wie leite ich erkläre GRIFF? (Win32)

Wie leite ich erklären HANDLE? Ich will nicht, um alle windows.h in diesem speziellen header.

  • Nicht #define HANDLE int nicht genug?
  • GRIFF ist nicht ein int. Insbesondere, ich glaube, es ist die gleiche Breite wie ein Zeiger.
  • eigentlich ist es ein index in Tabellen im kernel-space. Und sowieso, Sie nicht brauchen, um ausführen Arithmetik auf.
  • Ist dieser performance-kritischen code? Oder würde das einwickeln HANDLE Verwendung von pimpl ist eine option? Weil das ist eine ganze Menge sauberer, als zu versuchen, vorwärts zu erklären, ein undurchsichtiger Typ aus der Windows-API.
  • Nicht immer. Dinge wie die Fenstergriffe sind keine kernel-Bezug überhaupt. @James: Es ist nicht wirklich performance-kritisch ist, aber es scheint eine Verschwendung zu gehören, dass massive Kopf-nur um zu BEHANDELN ausgesetzt. Ich dachte, es war nur ein void * aber ich bin neugierig, ob es eine anerkannte Methode, dies zu tun.
  • In einem 32-bit-Projekt, es ist nur ein void*; ich weiß nicht, ob es ein void* wenn Gebäude für Intel 64 oder IA-64 - (und ich kann nicht herausfinden, meine 64-bit-Rechner mit ist heute morgen gestorben). Es ist zwar unwahrscheinlich, aufgrund der Abwärtskompatibilität, die den zugrunde liegenden Typ würde sich in Zukunft ändern, es ist nicht wirklich eine gute Praxis zu übernehmen, einen bestimmten Implementierung eines opaque-Typs.
  • aber ein Fenster-handle ist HWND, nicht GRIFF. Die zwei Arten der macht (manchmal etwas) passieren zeitgleich, aber auf jeden Fall sollte nicht gleichgestellt werden.
  • Mein Punkt ist, dass der GRIFF verwendet wird, in vielen Orten, nicht immer in Bezug auf den Kernel

InformationsquelleAutor Billy ONeal | 2010-11-08
Schreibe einen Kommentar