0
votes

I've made a normal dll (not a MFC dll) and I use there CImage Class (MFC) and it works great. First of all I dont have lot of experience in dlls, so I wonder how my dll works if i didn't used the "MFC Dll" option, and whats the difference between the two options.

My second question is if the fact that I am using the CImage class (MFC) can make problems if I run my dll on some other computers with windows operation system or there will be no problem running it on every computer with windows operation system?

I think that if I am using the CImage class my dll's size will grow due to the additional classes that is being added (by the way, it adds all the MFC classes or only the CImage one?) and therefore I don't relay on the computer that run my dll, but I am not sure at all.

Thank you for the time and the help!

1

1 Answers

1
votes

MFC DLL is more a DLL wizard that sets some boilerplate code for you if you are going to follow the MFC framework usage guidelines. It is not absolutely necessary to be able to use MFC. You may still create your own code and use it as you wish.

As it comes to MFC cross-machine portability, it is transparent when you link to MFC statically (default setting in Release build) but you should ensure that the corresponding MFC dll library is present on the target machine if you link to MFC dynamically (Debug build).

While MFC is a quite big framework with its good and bad sides using its single, separate features is not a common practice and maybe you should consider other solution like http://openil.sourceforge.net for handling images without all the burden of a framework.