我开始开发 Windows 服务。我想使用我自己的一些类,它们对某些 MFC 类(如 CString、CSocket、CArchive、CMemFile 和 CObject)几乎没有依赖性。MSDN http://msdn.microsoft.com/en-us/library/cys3kd51(VS.80).aspx说您需要非常小心在 Windows 服务中使用 MFC 的哪些部分,但没有指定它,也没有描述可能发生的问题。
我的问题是:
- 可以使用MFC的哪些部分?
- 使用 MFC 会出现什么问题?
- Windows 服务的哪些部分对于 MFC 的使用至关重要?
- 对于Windows服务,是否建议使用ATL而不是MFC?
我不确定 MSDN 文章中的含义。只要您不使用任何 GUI 功能就可以了 - 但这是开发服务时的一般设计问题。
话虽这么说,ATL 具有专门为构建服务 IIRC 而设计的功能,因此您最好使用它。
回答您的问题(据我所知):
1)你指定的没有问题。
2)我猜他们的意思是UI组件的同步问题。只要您不使用任何 CWnd 派生类就可以了。
3)不明白问题。
4) 如前所述,加上 ATL 更加轻量级,因此您需要分发的内容更少,并且提供内置功能,可以减轻开发服务的痛苦。参见例如CAtlServiceModuleT.您仍然可以主要使用自己的类,因为 CString 现在在 MFC 和 ATL 之间共享,并且 ATL 本身具有用于套接字编程和内存文件映射的类。它没有 CArchive 的等效项,而且我不确定您在 CObject 中使用什么功能,所以我不能说 ATL 中是否有等效项。总而言之,我对这个问题说“是”。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)