MFC和C#的关系?。
大家好。本人刚接触到MFC学习。感觉刚从C++语言学习直接过度到MFC学习有点吃力,有太多类库函数。接触了c#感觉界面直观。请问二者有什么关系吗?。用MFC编写的程序和C...
大家好。本人刚接触到MFC学习。感觉刚从C++语言学习直接过度到MFC学习有点吃力,有太多类库函数。接触了c#感觉界面直观。请问二者有什么关系吗?。 用MFC编写的程序和C#写的有什么区别。
另外我练习下算法。请问大家有什么好的方法 和图书推荐下。谢谢了 展开
另外我练习下算法。请问大家有什么好的方法 和图书推荐下。谢谢了 展开
5个回答
展开全部
MFC和c#没关系。要一定说有关系,那么只能说都是微软的。
MFC是一套c++的库。是ms为了简化vc开发而提供的。要知道,c++本身是没那么多库文件的,它只提供了最核心的语言的一些功能。例如字符串,容器,哈希等等这些工具,实际都是没有的。所以,若干组织或者厂家,用c++编写了很多的库。MFC就是其中之一,此外还有STL等。
而c#呢,是.net框架里的一门语言。和c++是两回事。虽然都带个c,其实关系不太大。c#/.net这个玩意和c++就不太一样了。他不仅仅是一门语言,还带一个庞大的类库,里面的字符串,容器,等等若干功能,自身都带了。所以说c#和.net其实是不分家的。
不知道这么说你能不能明白。呵呵~
MFC是一套c++的库。是ms为了简化vc开发而提供的。要知道,c++本身是没那么多库文件的,它只提供了最核心的语言的一些功能。例如字符串,容器,哈希等等这些工具,实际都是没有的。所以,若干组织或者厂家,用c++编写了很多的库。MFC就是其中之一,此外还有STL等。
而c#呢,是.net框架里的一门语言。和c++是两回事。虽然都带个c,其实关系不太大。c#/.net这个玩意和c++就不太一样了。他不仅仅是一门语言,还带一个庞大的类库,里面的字符串,容器,等等若干功能,自身都带了。所以说c#和.net其实是不分家的。
不知道这么说你能不能明白。呵呵~
展开全部
微软官方答案:https://msdn.microsoft.com/zh-cn/library/0xb61xs7(v=vs.80).aspx
Windows 窗体用于在 .NET Framework 上创建 Microsoft Windows 应用程序。此框架提供一个现代的、面向对象的、可扩展的类集,它使您得以开发丰富的基于 Windows 的应用程序。使用 Windows 窗体,您可以创建胖客户端应用程序,这种应用程序可使用 Windows 窗体控件访问多种数据源,同时提供数据显示和数据编辑功能。
但是,如果您已习惯使用 MFC,您可能会习惯于创建某些在 Windows 窗体中尚未受到显式支持的应用程序。Windows 窗体应用程序等效于 MFC 对话应用程序。但是,它们并不提供基础结构以直接支持其他 MFC 应用程序类型,如 OLE 文档服务器/容器、ActiveX 文档或用于单文档界面 (SDI)、多文档界面 (MDI) 和多个顶级界面 (MTI) 的文档/视图支持。可以编写自己的逻辑以创建这些应用程序。
有关 Windows 窗体应用程序的更多信息,请参见 Windows 窗体介绍。
有关显示与 MFC 一起使用的 Windows 窗体的示例应用程序,请参见“MFC and WinForms Integration”(MFC 和 WinForms 集成)。
下面是我给你的一些内容,原文整理自网络:
mfc的结构和winform差别很大,winform的窗体是form,在mfc里可能最接近对话框或者FormView,而mfc则多使用更灵活的view,
如果你打算使用FormView来实现c# form的功能,那么form初始化在CFormView::OnInitialUpdate里(这时候你已经可以访问document对象),或者在CFromView::OnInitDialog里,也可以在CFormView::OnCreate里,
和.net的form不同的是,mfc的view都对应有一个document对象,表示数据,CFromView和CDialog类还有一个奇异的数据映射机制,把对话框/form上面的控件,比如输入框等,直接和一个类数据变量绑定起来,这个机制有时候会比Form方便,在Form中取数据,还要对textbox里的数据进行转换,而在CFromView里你可以把一个输入框和一个int型变量帮顶起来,然后调用UpdateData方法后int变量里的值就和输入框中的内容一样了,不需要转换,
Windows 窗体用于在 .NET Framework 上创建 Microsoft Windows 应用程序。此框架提供一个现代的、面向对象的、可扩展的类集,它使您得以开发丰富的基于 Windows 的应用程序。使用 Windows 窗体,您可以创建胖客户端应用程序,这种应用程序可使用 Windows 窗体控件访问多种数据源,同时提供数据显示和数据编辑功能。
但是,如果您已习惯使用 MFC,您可能会习惯于创建某些在 Windows 窗体中尚未受到显式支持的应用程序。Windows 窗体应用程序等效于 MFC 对话应用程序。但是,它们并不提供基础结构以直接支持其他 MFC 应用程序类型,如 OLE 文档服务器/容器、ActiveX 文档或用于单文档界面 (SDI)、多文档界面 (MDI) 和多个顶级界面 (MTI) 的文档/视图支持。可以编写自己的逻辑以创建这些应用程序。
有关 Windows 窗体应用程序的更多信息,请参见 Windows 窗体介绍。
有关显示与 MFC 一起使用的 Windows 窗体的示例应用程序,请参见“MFC and WinForms Integration”(MFC 和 WinForms 集成)。
下面是我给你的一些内容,原文整理自网络:
mfc的结构和winform差别很大,winform的窗体是form,在mfc里可能最接近对话框或者FormView,而mfc则多使用更灵活的view,
如果你打算使用FormView来实现c# form的功能,那么form初始化在CFormView::OnInitialUpdate里(这时候你已经可以访问document对象),或者在CFromView::OnInitDialog里,也可以在CFormView::OnCreate里,
和.net的form不同的是,mfc的view都对应有一个document对象,表示数据,CFromView和CDialog类还有一个奇异的数据映射机制,把对话框/form上面的控件,比如输入框等,直接和一个类数据变量绑定起来,这个机制有时候会比Form方便,在Form中取数据,还要对textbox里的数据进行转换,而在CFromView里你可以把一个输入框和一个int型变量帮顶起来,然后调用UpdateData方法后int变量里的值就和输入框中的内容一样了,不需要转换,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
MFC是微软基础类库,是微软提供的,把一些类进行了封装,用于在C++环境下编写应用程序的一个框架和引擎,MFC就是挂在vc++之上的一个辅助软件开发包。
而c#的操作和编写的程序功能要远大于MFC,MFC提供的控件非常少,但是c#很多,所以你感觉界面直观。
c#比mfc好用多了。
不过c#和c++语法差不多,但是很多东西不一样,c#更像Java,没有指针,没有多继承,但是有接口。
你多看看资料就了解了。
算法我有本书推荐给你,数据结构、算法与应用----c++语言描述,sartaj sahni写的,汪诗林翻译。不错,另外,你要是感觉自己算法比较强了,推荐你另外一本,算法导论,算法经典书。
而c#的操作和编写的程序功能要远大于MFC,MFC提供的控件非常少,但是c#很多,所以你感觉界面直观。
c#比mfc好用多了。
不过c#和c++语法差不多,但是很多东西不一样,c#更像Java,没有指针,没有多继承,但是有接口。
你多看看资料就了解了。
算法我有本书推荐给你,数据结构、算法与应用----c++语言描述,sartaj sahni写的,汪诗林翻译。不错,另外,你要是感觉自己算法比较强了,推荐你另外一本,算法导论,算法经典书。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你是说C++编写MFC程序和C#编写.NET程序吧。
MFC程序与C#相比唯一的优势就是执行速度!但MFC已列入微软的淘汰体系范围了(至少微软不推荐使用了),至于其他方面,C#当然全全超过!
Charles
Petzold(学编程的都知道吧)一直认为MFC是浅层的对象化编程,太复杂了,加上C++语言的本身劣势,远不及与C#。
其实C#代替MFC很好看出来,MFC基本上横扫了90年代Windows高级编程的领域,而微软为什么又要耗资开发NET和C#呢,就是因为由于Java的压力,微软的主力编程体系MFC已经逐渐不稳了,而C#,重所周知,继承了许多Java的优点。
查看原帖>>
MFC程序与C#相比唯一的优势就是执行速度!但MFC已列入微软的淘汰体系范围了(至少微软不推荐使用了),至于其他方面,C#当然全全超过!
Charles
Petzold(学编程的都知道吧)一直认为MFC是浅层的对象化编程,太复杂了,加上C++语言的本身劣势,远不及与C#。
其实C#代替MFC很好看出来,MFC基本上横扫了90年代Windows高级编程的领域,而微软为什么又要耗资开发NET和C#呢,就是因为由于Java的压力,微软的主力编程体系MFC已经逐渐不稳了,而C#,重所周知,继承了许多Java的优点。
查看原帖>>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
mfc 是一个库 是c++的扩展库
framework 也是一个库 是C#的底层库
framework 也是一个库 是C#的底层库
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询