En el estupendo blog
Coding Relic el autor, Denton Gentry, ha publicado recientemente dos trucos muy espectaculares pero
gcccéntricos. Bueno en realidad uno es específico de la
glibc y el otro sí es
una extensión de gcc:
- printf-acular en el que se describe cómo personalizar printf para que admita más tipos de datos que los que normalmente admite, en el ejemplo sacar direcciones MAC formateadas.
- Variable Scoping with gcc, en el que se explica el (espectacular) funcionamiento de __attribute__(cleanup), que permite funcionalidades del tipo RAII de C++
Y ahora, después de ver un par de extensiones tan útiles, potentes y elegantes es cuando me toca
desrecomendarlas :) Creo firmemente en el valor de los estándares y en desarrollar siempre en el nivel más estricto de estándar o visto de otro modo en el nivel más amplio de disponibilidad, siempre y cuando las soluciones sean comparables. Además, es bueno pensar en la gente que retocará el código y cabe la posibilidad de que si no se documenta resulte de sólo escritura. Yo sólo lo vería admisible en un
hack puntual documentado como mínimo con neones. No obstante, hay gente que no opina lo mismo como se puede leer en
Uso de extensiones del GCC en (el kernel) Linux.
La misma entrada y más comentarios en Trucos gcc-céntricos y porqué no usarlos en barrapunto
No hay comentarios:
Publicar un comentario