Así que he sumergido mis pies en las anotaciones de código fuente para C++, pero descubrí que hay muchas maneras de llegar a Roma, por así decirlo.Anotaciones de SAL, ¿cuál usar?
Ejemplos:
__in
_In_
[Pre(FormatString(Style="printf")] LPCSTR format
- VS2005 SAL Annotations
- VS2010 Using Annotations to Reduce C/C++ Code Defects
- VS2012 Using SAL Annotations to Reduce C/C++ Code Defects
¿Existe una -Microsoft-manera de hacer esto?
SAL podría tener sentido para C, no para C++. Pero tenga en cuenta que Microsoft incluso equivocó las anotaciones de 'MessageBox'. Esto significa que SAL es peor que basura inservible: agrega una extrema verbosidad que ralentiza a los programadores, y la poca información que transmite es a menudo incorrecta (como lo ilustra mi ejemplo), lo que no solo ralentiza a los programadores sino que los engaña activamente. Así que incluso para C, diría que es bastante * contraproducente * usar SAL. ** ¡Solo diga NO! ** –
@ Cheersandhth.-Alf No puedo hablar por el código de usuario, pero SAL en realidad es bastante beneficioso para los conductores. Particularmente las anotaciones '_IRQL' – brc
@brc: uhm, lo miré. aparte de la pregunta "¿sería SAL la única forma de lograr garantías?" se ve horriblemente compleja, mientras que los niveles de solicitud de interrupción en sí mismos son algo simple. por lo que me recuerda mucho al esquema de complejidad añadida de "apartamento" de Microsoft para enhebrar en COM. muchas personas pensaron que era significativo. muchas personas aún piensan, p. 'WinMain' (recién agregado, complejidad sin sentido contraproducente) es una buena idea. entonces, sospecho fuertemente que ese es el caso también para las anotaciones de SAL _IRCL: que simplemente están agregando complejidad y ofuscación innecesariamente. –