We have a project which is compiled as a dll and actually there is some memory leak in this dll source code.
Originally we build this dll with VS 2005
If a program loads this dll (compiled by VS 2005), uses its exported APIs and unloads this dll, there is no memory leak in this program because when windows API FreeLibrary() to unload this dll, it can also free all the heap memory of this dll
But now we transfer to VS 2012, and after we compile this dll source code by VS2012, we found that when a program loads this dll and after the FreeLibray() to unload this dll, there is memory leak in the program. The root cause is that the leaked heap memory in dll haven't been released when windows API FreeLbiray() unloads this dll
Does anybody know that if it is caused by some big change from VS 2005 to VS 2012 ?
Can we have some configurations in VS 2012 to let all the allocated heap memory in dll to be automatically released in FreeLibrary() API like VS 2005 ?