Perché l'opzione per utilizzare gli attributi nei nuovi progetti ATL è stata rimossa da Visual Studio 2008?

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

Domanda

Questo è il testo del commento MSDN:"Secondo il libro ATL Internals (2ed) l'uso degli attributi è deprecato e non dovrebbe essere utilizzato nei nuovi progetti ATL."

Ma perché?!!

È stato utile?

Soluzione

In ATL questi attributi erano un trucco del compilatore.Non erano una parte fondamentale della piattaforma come gli attributi in C#.Inoltre erano più confusi da eseguire il debug rispetto alle macro e il metodo di dumping del codice degli attributi generato era una seccatura.

Sospetto che un altro problema sia probabilmente la compatibilità del compilatore C++ e l'aderenza agli standard.Gli attributi non hanno reso il codice C++ più bello e forse questa sintassi potrebbe essere utilizzata in una versione futura di un vero standard C++.

Altri suggerimenti

L'Appendice D del libro approfondisce questo argomento.

L'ATL attribuito richiede estensioni del compilatore e i problemi riscontrati includono

  • eseguire il debug del codice generato dall'attributo o dell'interazione tra l'attributo e il codice
  • nessun controllo sul codice generato
  • bug, soprattutto intorno ai punti di connessione
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top