【发布时间】:2025-11-29 04:40:01
【问题描述】:
有人告诉我使用MFC,但似乎MFC会死,虽然它还没有...... 所以如果我现在想学习windows编程,我应该选择哪一个?谢谢。
【问题讨论】:
有人告诉我使用MFC,但似乎MFC会死,虽然它还没有...... 所以如果我现在想学习windows编程,我应该选择哪一个?谢谢。
【问题讨论】:
我鼓励你学习C#,个人认为是当今最好的windows编程语言之一(个人意见)
【讨论】:
如果你想使用原始的 Win32API(我认为你会学到最多,并且是你书架上的必备品)...Charles Petzold 的圣经是必备品... MFC、ATL , C# Winforms 基本上都是使用漂亮属性/事件的真正 API 架构的包装器......
【讨论】:
如果您真的想学习 Windows 编程,请从 Petzold 的 Programming Windows 书籍开始。您将很好地了解 Windows 的实际工作原理,这在处理更抽象的框架时非常宝贵。
然后跳到 Windows 窗体或 WPF。 MFC 不值得头疼。
【讨论】:
如果你打算在 windows api 级别编程,你最好使用 Qt 之类的东西。
【讨论】:
学习普通的 win32 API 不要在 MFC 上浪费你的时间......这是我的观点
【讨论】:
我和 Andres 一起做这个,学习 C#。
此外,您可能会考虑使用 java 一些。那里有一个庞大的知识库,根据我的经验,它和 C# 在语法和形式上交叉很多。
如果您正在寻找问题,请考虑 Project Euler 或 Programming Praxis
【讨论】:
如果您的目标是学习 Windows API,那么 MFC 是一个不错的起点。它是 API 的一个非常薄的包装器,在大多数情况下几乎是透明的。也许最大的区别在于消息处理机制。在 MFC 中,您使用宏来生成消息处理函数表,并且许多消息会自动从父级重新路由到子级,反之亦然。在原始 API 程序中,您通常会看到带有巨大 switch 语句的消息循环,所有这些都在一个地方处理。
【讨论】:
取决于您要创建的应用程序类型?最新的基于表单的编程是 WPF...这是最新和最伟大的,但 Windows 窗体编程也是一种选择(这仍然有很多利用)。
HTH。
【讨论】:
视情况而定,就像 IT 世界中的一切都取决于您的需求。
但是 C# 或 Java 是一个好的开始!。
【讨论】:
使用 C# 的 WPF 或 WinForms。 使用 WPF,您可以创建非常灵活的 GUI,WinForms 更传统。 尝试使用 Expression Blend 创建 GUI (WPF) 和 Visual Studio 进行编码:)
【讨论】:
这取决于你想做什么。您是一般编程新手吗?如果是这样,那么我会建议拿起一本好的编程书或者去一所大学并注册一个 CS 学位课程。
如果您已经知道如何编程并且只想编写 Windows 程序,那么您有多种选择。你选择哪一个取决于你想做什么以及你的目标受众是谁。
Win32 API - 您可以获得的最低级别。这是 OLD OLD OLD 学校的 C 代码,但你可以编写小而快的好看程序。你必须自己做几乎所有事情。 Win32 API 相当复杂,您必须了解细节才能编写出最好的代码。
MFC (Microsoft Foundation Classes) - 采用 Win32 API 并将其封装在 C++ 类中。它又是 OLD OLD 学校,但最近已从 MS 升级到新的 2008 功能包,因此它远未消亡。
.NET (C#, VB) - 来自 MS 的全新品牌。编写代码和创建程序非常容易。但是它确实对您隐藏了所有较低级别的内容,因此您只需编写 C# 或其他任何东西,它总是可以工作的。
当然,您总是可以使用 Delphi、Qt、WxWidgets 编写代码,但这些只是 win32 API 的包装器。
就我个人的选择而言,这取决于我在做什么。在我的工作中,我编写 C#,因为硬件/软件在我的控制之下。我知道要安装什么版本的框架、多少 RAM、多少硬盘空间等。对于我自己创建的项目,我几乎总是使用 MFC。它隐藏了 Win32 API 的肮脏之处,并赋予了我 C++ 的能力。我是否更愿意将所有东西都制作成 .net,但我发现没有多少人安装了 .net 框架,所以我严重限制了我的用户群。
【讨论】: