¿Por qué se eliminó de Visual Studio 2008 la opción de usar atributos en nuevos proyectos ATL?
-
09-06-2019 - |
Pregunta
Este es el texto del comentario de MSDN:"Según el libro ATL Internals (2ed), el uso de atributos está obsoleto y no debe utilizarse en nuevos proyectos ATL".
¡¡¿Pero por qué?!!
Solución
En ATL estos atributos eran un truco del compilador.No eran una parte central de la plataforma como los atributos en C#.También eran más confusos de depurar que las macros y el método de volcar el código de atributo generado era una molestia.
Sospecho que otro problema probablemente haya sido la compatibilidad del compilador de C++ y el cumplimiento de los estándares.Los atributos no hicieron que el código C++ fuera más hermoso, y tal vez esta sintaxis pueda usarse en una versión futura de un estándar C++ real.
Otros consejos
El Apéndice D del libro trata sobre esto.
ATL atribuido requiere extensiones del compilador y los problemas encontrados incluyen
- depurar el código generado por el atributo o la interacción entre el atributo y su código
- sin control sobre el código generado
- errores, especialmente alrededor de los puntos de conexión