Publi

  • Enlazado dinámico en C++ (dynamic linking) III: Carga dinámica de objetos

    Hasta ahora, en varios artículos referentes a este tema: Introducción a dynamic linking, Carga dinámica de bibliotecas, hemos visto como, en lenguaje C, podemos escribir bibliotecas de funciones y, sin necesidad de conocer su código fuente, ejecutar funciones encerradas dentro de esas bibliotecas en nuestros proyectos, así como cargar dicho código al vuelo.

    Pero todo se complica un poco cuando queremos hacer lo mismo con C++, y en concreto, cuando estamos exportando clases completas, ya que de primeras necesitamos una forma de traernos algo parecido a un tipo, el nombre de la clase, y con dlopen() y dlsym(), nos podemos traer sólo una referencia de memoria, por lo que junto con la clase que programemos en C++ tendremos que incluir una función que llame al constructor.… Leer artículo completo

  • Guardar un log con las excepciones producidas en C++

    logSobre todo a la hora de crear un programa se pueden generar muchas excepciones, bueno y cuando estamos usándolo de forma normal también, y todos sabemos del típico cliente/amigo/usuario que nos llama de madrugada o a una hora normal diciendo:
    – «El programa me da error» –
    – «¿Qué error te da el programa?» – respondemos
    – «Nada error, solo eso» –
    – «Bueno, ¿seguro que no salía nada más?» – insistimos
    – «Sí, muchas letras y cosas que no tenían sentido» – nos responde para bajarnos la moral – «¿qué puede ser?»
    Nuestra respuesta ahora depende de la relación que tengamos con esa persona, ya sea cliente, amigo, usuario, desconocido… o destornillador, digo, desarrollador (que hay algunos que también…).… Leer artículo completo