MFC是怎样支持Xp、Win7和win8的? 本帖最后由 oyljerry 于 2012-07-23 11:22:46 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 本帖最后由 oyljerry 于 2012-07-23 11:21:17 编辑 mfc是非托管语言,.net平台的vc.net,c#,vb.net以及sun的java是托管语言,是运行在虚拟上的。在性能上不能和mfc这种非托管语言相比。 本帖最后由 oyljerry 于 2012-07-23 11:21:58 编辑 Win API是一样的,都记载在exe文件的导入表中,然后导入表什么的在加载进内存准备运行时修正系统函数偏移,程序能在各种版本的win系统中跑的缘由(win程序在A机器编译的可以在B、C机器跑)MFC还要带上重重的MFC40.dll(VC6.0)、MFC90.dll(VS2008),消息循环啊,分发函数啊,都是由MFCxx.dll完成。MFC程序就是调用的MFCxx.dll的API,然后dll再调用win API。 向下兼容很重要,把接口留下来,管他win多少,一样兼容! 呵呵,主要是win7、win8向下兼容32位程序! 我们VC6开发的程序依然可以在win7下面跑,不过会有点细节有问题的 微软的系统,核心就那几个dll文件提供的API其中三大核心dll分别是gdi32.dll 图形界面接口user32.dll 这个比较杂,控件,界面啥的,都有。还有其他dll也提供控件。kernal.dll 核心APIMFC只是一个框架而已。功能的实现还靠调用各个API。在没有MFC库的电脑上运行MFC程序,需要安装MFC库,或者在编译时选择使用静态库编译。静态库编译会把MFC支持库打包到程序内。 gdi32.dll 图形界面接口user32.dll 这个比较杂,控件,界面啥的,都有。还有其他dll也提供控件。kernal.dll 核心API 现在混点分不容易啊 来扯淡了。。那个QQ2009的好友列表该怎么实现? VC6.0怎么这么垃圾啊?bug一堆一堆的,今天又遇到一个。 如何用API实现往listcontrol里添加数据 现在应该没有程序的方法读取cpu的序列号了? 关于使用CMap和Clist的问题,在线等待,解决给分,up也有分 简单问题 硬件问题帮帮忙(在线) VC6用DAO方式连接Access2000数据的问题 MS Agent在Win2000下面怎么没有声音? 为什么改版后我变的不愿看贴也不愿回贴了呢? 一个ActiveX事件的问题,在线等,急急急
在性能上不能和mfc这种非托管语言相比。
MFC还要带上重重的MFC40.dll(VC6.0)、MFC90.dll(VS2008),消息循环啊,分发函数啊,都是由MFCxx.dll完成。MFC程序就是调用的MFCxx.dll的API,然后dll再调用win API。
其中三大核心dll分别是
gdi32.dll 图形界面接口
user32.dll 这个比较杂,控件,界面啥的,都有。还有其他dll也提供控件。
kernal.dll 核心API
MFC只是一个框架而已。
功能的实现还靠调用各个API。
在没有MFC库的电脑上运行MFC程序,需要安装MFC库,或者在编译时选择使用静态库编译。
静态库编译会把MFC支持库打包到程序内。
user32.dll 这个比较杂,控件,界面啥的,都有。还有其他dll也提供控件。
kernal.dll 核心API