Se utilizzo C# per P/Richiama una determinata DLL, l'effettiva DLL C++ verrà eseguita per la durata della chiamata e quindi verrà chiusa, distruggendo tutta la memoria utilizzata? Oppure .NET si farà carico della memoria utilizzata dalla DLL C++ in un "heap" non gestito e fornirà i puntatori a tali oggetti alla DLL C++ ogni volta che chiamo una funzione statica?P/Invoke esegue la DLL e quindi la interrompe?
Quando ho bisogno che un determinato progetto C++ mantenga la memoria persistente, dovrei creare un server ActiveX/COM per mantenere la memoria, e tuttavia essere in grado di chiamarlo da C#?
Dove viene memorizzata la memoria? Puoi approfondire questo? –
Le DLL non gestite vengono caricate nello spazio indirizzo del dominio dell'applicazione del programma gestito. Si noti che è possibile caricare e scaricare in modo dinamico domini applicazione, che rimuove le DLL non gestite dalla memoria quando il dominio dell'app viene scaricato. –
Dove viene memorizzata la memoria? Sii preciso riguardo alla domanda. –