Explanation of Dynamic Link Libraries (DLLs) by creating a DLL library in C++ and using it with C#