Warum wurde die Option zur Verwendung von Attributen in neuen ATL-Projekten aus Visual Studio 2008 entfernt?

StackOverflow https://stackoverflow.com/questions/50310

Frage

Dies ist der Text aus dem MSDN-Kommentar:„Laut dem Buch ATL Internals (2ed) ist die Verwendung von Attributen veraltet und sollte in neuen ATL-Projekten nicht verwendet werden.“

Aber warum?!!

War es hilfreich?

Lösung

In ATL waren diese Attribute ein Compiler-Trick.Sie waren kein zentraler Bestandteil der Plattform wie Attribute in C#.Außerdem war das Debuggen mit ihnen verwirrender als mit Makros, und die Methode zum Speichern des generierten Attributcodes war mühsam.

Ich vermute, dass ein weiteres Problem wahrscheinlich die Kompatibilität des C++-Compilers und die Einhaltung von Standards war.Attribute haben nicht zu einem schöneren C++-Code geführt, und vielleicht wird diese Syntax in einer zukünftigen Version eines echten C++-Standards verwendet.

Andere Tipps

Anhang D des Buches geht darauf ein.

Attributiertes ATL erfordert Compilererweiterungen, und die aufgetretenen Probleme umfassen:

  • Debuggen des vom Attribut generierten Codes oder der Interaktion zwischen dem Attribut und Ihrem Code
  • Keine Kontrolle über den generierten Code
  • Fehler, insbesondere im Bereich der Verbindungspunkte
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top