我刚刚开始我的第一个C++项目。我正在使用Visual Studio 2008。它是一个单一窗体的Windows应用程序,用于访问几个数据库并启动WebSphere MQ事务。我基本上理解ATL,MFC,Win32(我实际上对此有点朦胧)和CLR之间的差异,但是我对如何选择我感到不知所措。如何决定是否将ATL,MFC,Win32或CLR用于新的C++项目?
是否有一个或多个这些只是为了向后兼容?
是CLR a bad idea?
任何建议表示赞赏。
编辑: 我选择C++这个项目的原因,我没去成在后,这是不完全的技术。所以,假设 C++是唯一的/最好的选择,我应该选择哪一个?
好问题。它是一个大型项目的一部分,其中包含一些其他因为遗留和供应商原因而必须使用C++的部分。这部分没有*是用C++编写的,但是由于还有其他部分可以做,而且由于这部分相对较小,所以我打算用同一种语言来完成。 – 2009-05-04 19:56:20
如果您喜欢使用C#,但希望/需要使用C++,则C++/CLI(/ clr)可以非常接近C#。主要区别在于一些小的语法,并试图避免使用标准C++而不是CLI调用。真的没有理由避免它。 – 2009-05-04 19:59:25
这不一定是一个糟糕的思考过程。但是我仍然认为你最好打赌是把C#和P/Invoke放到你现有的库中。如果你已经*了一个MFC大师,这只是你项目的一个小小的补充,那么是的,它可能会继续使用C++。尽管即使在这种情况下,它也可能是一个很好的机会,可以利用.NET框架挖掘一些“练习时间” – Clyde 2009-05-04 19:59:38