我在哪里可以获得afx ... h文件?

时间:2013-04-26 02:33:04

标签: c++ mfc

我正在开发API,API需要afxsock.h和其他afx...标头。在线搜索后,似乎我的VS Express还不够,所以我希望在微软购买该产品。不幸的是,它是700美元,作为一个初级程序员,对我来说放在我用来自学c ++的1个项目上毫无意义。 (即我仍然不知道我是否想用C ++或其他语言进行长期编程)。

无论如何,我想知道是否有某种方法可以获得afx(或更恰当的MFC)文件?

请注意,我有Windows 8,Visual Studio 2012,并且我已经下载了适用于Windows 8的Windows开发工具包,但仍然无法编译,因为我错过了afx错误。

2 个答案:

答案 0 :(得分:7)

AFX前缀代表 A 应用 F ramework E x 张力,这是MFC的原始名称( M icrosoft F 基础 C lasses)库。在名称更改为MFC之前,文件名已经设置好了,更改它们为时已晚。

因此您需要MFC才能使用这些标头。不幸的是,Visual Studio的Express版本不包括MFC(或ATL)。您只能使用标准版,专业版或更高版本的Visual Studio开发MFC应用程序。

如果您是学生,您有几个很好的选择:

  • 您可以加入Microsoft's DreamSpark program,这对学生免费,并且您可以享受一些优秀的免费下载,包括VS 2012 Professional,VS 2010 Professional和最新的Windows服务器版本。
  • 或者,您可以以非常低的成本加入IEEE。该 IEEE学生会员资格使您有权下载许多Microsoft工具,包括Visual Studio的 Ultimate 版本。有关详细信息,请参阅this page。 (虽然该页面提到VS 2010,但实际上可以使用VS 2012。)

否则,您必须直接购买Visual Studio Standard / Professional,或加入MSDN

或者,您可以使用winsock2 API,它是Windows SDK而非MFC的一部分。开始使用文档here。当您下载“适用于Windows 8的Windows开发工具包”时,您将获得Windows SDK。它包含链接到本机Win32库所需的一切,但它不包括MFC框架。

答案 1 :(得分:2)

除了其他人链接的IEEE“学生会员”选项之外,您可能还需要考虑Microsoft的BizSpark程序,该程序将使您不仅可以访问Visual Studio。我不知道你是否有资格参加,但值得研究。


话虽如此,现在是时候踏上肥皂盒并添加一些评论:我理解选择API的问题依赖于MFC,但实际上说开发交易程序既不是特别容易也不是一个好地方开始。此外,从MFC开始可能不是一个好主意,除非您特别专注于成为MFC开发人员。如果您使用C ++,那么您可以更好地专注于学习C ++ 11。或者至少先学习 。一旦您对此感到满意,您就可以专注于使用任何可用的框架来学习GUI编程。

只需我0.02美元。