Si el otro día comentaban en barrapunto que en MS marcaban como peligroso el uso de memcpy hoy podemos encontrar otra razón para usarlo con precaución. En memcpy() concurrency curiosities David Dice habla de un comportamiento antiintuitivo de dicha función que sale a la luz en entornos fuertemente concurrentes: sobreescribir la misma secuencia constante en memoria puede tener valores no válidos temporalmente durante su llamada, leídos por otros threads con resultado catastrófico si no se tiene cuidado. Otro caso más en el que las abstracciones que usamos evolucionan a su manera, quizás con explicación pero con resultados que contradicen la intuición y exigen, a veces, conocer que se cuece allá abajo. (No mucho) más en reddit
La misma entrada y más comentarios en memcpy y la concurrencia en barrapunto
martes, mayo 26, 2009
martes, mayo 05, 2009
Avances en las implementaciones de C++0x
Por lo que he leído hace un tiempo y ahora puedo comentar aquí, tanto gcc como VC++ se están poniendo las pilas en la implementación de C++0x.
Y ya que estamos en el tema dos enlaces de propina: Designing Multithreaded Programs in C++0x de Anthony Williams y GCC C++0x Features Exploration en C++ Soup! y por supuesto la imprescindible wikipedia que tiene un estupendo punto de entrada: C++0x
La misma entrada y más comentarios en Avances en las implementaciones de C++0x en barrapunto
- Vía Drizzt, Qt 4.5.1 y gcc 4.4 leo que entre las más notables novedades de gcc4.4 se incluyen muchas características del C++0x, entre las cuales están declaraciones con auto y la inicialización de objetos con listas. Bien :) Se puede saber más en la página de status de la implementación de c++0x en gcc 4.4 donde se puede ver que la concurrencia no es una de las características más adelantadas, empezando por el modelo de memoria. Tiempo al tiempo...
- En VC++ también van a buen ritmo, lo cual es bueno para el estándar, no como pasó con el VC++6 de infausto recuerdo y larga duración :). En el blog oficial de VisualC hablan de decltype (C++0x Features in VC10, Part 3) repasando esa característica de C++0x que por cierto ya está implementada también en gcc. Además apuntan a las dos entradas anteriores, que también resultan instructivas Lambdas, auto, and static_assert: C++0x Features in VC10, Part 1 y Rvalue References: C++0x Features in VC10, Part 2
Y ya que estamos en el tema dos enlaces de propina: Designing Multithreaded Programs in C++0x de Anthony Williams y GCC C++0x Features Exploration en C++ Soup! y por supuesto la imprescindible wikipedia que tiene un estupendo punto de entrada: C++0x
La misma entrada y más comentarios en Avances en las implementaciones de C++0x en barrapunto
Suscribirse a:
Entradas (Atom)