Domanda

Se ho un'app che utilizza almeno due dll, è generalmente sicuro allocare le risorse in una dll e liberarle in un'altra?

Sto pensando specificamente di chiamare fopen e fclose in diverse DLL, ma vorrei anche sapere che è sicuro per altre risorse (puntatori di memoria, handle, ecc ...).

Penso che fintanto che tutto sarà compilato con gli stessi switch, dovrebbe funzionare.

Grazie, Cory

È stato utile?

Soluzione

Questa è una brutta cosa (TM) da fare per tutti i progetti tranne che non banali. Funziona in un insieme molto rigoroso di condizioni come la versione delle DLL, il modello di threading, gli allocatori di memoria utilizzati in ciascuno e una serie di altri. Infine, i bug saranno troppo difficili da inseguire.

Altri suggerimenti

Finché stai usando la versione DLL della libreria di runtime C (/ MD o / MDd), allora sì, è sicuro.

Se si collega staticamente il CRT in una DLL (/ MT o / MTd), allora no, non è sicuro.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top