我做了一个正常的dll(不是MFC的dll),我使用那里的CImage类(MFC),它的工程很好。 首先我没有很多dll的经验,所以我不知道我的DLL如何工作,如果我没有使用“MFC Dll”选项,以及两个选项之间的区别是什么。运行dll包含其他计算机中的MFC类C++
我的第二个问题是,如果我使用CImage类(MFC)的事实可以使问题,如果我在一些其他计算机上运行我的DLL与Windows操作系统或将没有问题在每台带有Windows操作系统?
我认为,如果我使用CImage类,我的dll的大小将增加,因为正在添加额外的类(顺便说一句,它添加了所有的MFC类或只有CImage之一?) 因此I不要在运行我的dll的计算机上转发,但我不确定。
谢谢你的时间和帮助!
我没有理解MFC跨机器可移植性的部分。 – 2011-06-08 12:43:35
静态或动态链接到MFC的含义是什么? 我不太清楚发布版本和调试版本是什么。 你说“对应的MFC dll库”是什么意思?我不知道CImage使用的lib(不写在这里: http://msdn.microsoft.com/en-us/library/bwea7by5(v=vs.80).aspx) 谢谢,并请回复所以我可以知道如果该DLL可以在每台带有Windows操作系统的计算机上工作。 – 2011-06-08 12:48:33
跨机器意味着在最初没有构建的计算机上使用dll。在构建项目时,通常会看到两种配置:调试和发布。调试版本默认创建了一个依赖于包含MFC库(动态链接)的DLL,因此它期望该DLL在运行时存在。另一方面,发布版本使用MFC库的静态版本,确保所有必要的代码都在您正在构建的dll中。您可以探索您创建的用于构建该dll的项目的选项。 – jszpilewski 2011-06-08 12:53:20