Estoy usando la función LoadLibrary
para cargar una DLL en Windows. Mi pregunta es esta: si llamo a este método más de una vez para la misma DLL, ¿obtengo identificadores para diferentes instancias de la DLL, o todos se referirán a la misma instancia?¿Cargar una DLL más de una vez?
Además, ¿cómo se correlaciona este comportamiento con los archivos SO Linux, es el mismo o completamente diferente, y qué suposiciones puedo hacer al respecto? Gracias.
¿Desea una instancia independiente de su DLL (y su estado global)? –
@DavidHeffernan Posiblemente, pero solo si también se puede hacer en Linux. Estoy tratando de determinar cómo funcionan las cosas 'normalmente'. Si lo que describes es posible, me interesaría saber cómo. –
Funciona igual en sistemas operativos. Hay un sucio truco para obtener instancias separadas de la DLL. Cada vez que necesite una nueva instancia, copie el archivo en una ubicación temporal y asígnele un nombre único. De esta forma, fuerza al sistema a cargar un nuevo módulo. A veces uso esta técnica para trabajar con bibliotecas que no son seguras debido al diseño deficiente y al uso del estado global. –