本帖最后由 oyljerry 于 2012-07-23 11:22:46 编辑

解决方案 »

  1.   

    本帖最后由 oyljerry 于 2012-07-23 11:21:17 编辑
      

  2.   

    mfc是非托管语言,.net平台的vc.net,c#,vb.net以及sun的java是托管语言,是运行在虚拟上的。
    在性能上不能和mfc这种非托管语言相比。
      

  3.   

    本帖最后由 oyljerry 于 2012-07-23 11:21:58 编辑
      

  4.   

    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。
      

  5.   

    向下兼容很重要,把接口留下来,管他win多少,一样兼容!
      

  6.   

    呵呵,主要是win7、win8向下兼容32位程序!
      

  7.   

    我们VC6开发的程序依然可以在win7下面跑,不过会有点细节有问题的
      

  8.   

    微软的系统,核心就那几个dll文件提供的API
    其中三大核心dll分别是
    gdi32.dll  图形界面接口
    user32.dll 这个比较杂,控件,界面啥的,都有。还有其他dll也提供控件。
    kernal.dll 核心API
    MFC只是一个框架而已。
    功能的实现还靠调用各个API。
    在没有MFC库的电脑上运行MFC程序,需要安装MFC库,或者在编译时选择使用静态库编译。
    静态库编译会把MFC支持库打包到程序内。
      

  9.   

    gdi32.dll  图形界面接口
    user32.dll 这个比较杂,控件,界面啥的,都有。还有其他dll也提供控件。
    kernal.dll 核心API