用VC6.0新建一个PROJECT,勾选了支持MFC,也确实用到了MFC的东西,比如CString等之类的,但是Project设定里面居然可以选择Not Using MFC,而且好像对程序没什么影响,请问这个选项到底起什么作用?为什么会这样?

解决方案 »

  1.   

    Not Using MFC代表的是在dsp文件中的一个参数的定义,应该是和程序的默认参数有关,不过如果你使用向导生成支持MFC的应用,很多参数是配置好的,一般情况下,应该没有明显的区别注意的是,这里选了未必你的程序就真的不要需要mfc的dll文件
      

  2.   

    你可以试试用MFC的窗口派生类,看行不行。Not Using MFC并不是所有的MFC类都不能用。
      

  3.   

    楼主你使用的是什么类型的程序,我建立的MFC exe好像没有Not Using MFC这个选择
      

  4.   

    我建立了win32 console application, 使用Not Using MFC就会出链接错误,
    无法复现你的现象。
      

  5.   

    是不是如snaill() 所说,这里的选项没有明显的区别?如果用Using MFC in static Liabaray的话,编出来的东西会很大,依赖最小,一般情况下使用in dynamic dll,但无论如何使用Not Using MFC还真的是有点难以理解!另外请问pomelowu(羽战士),你说的是不是有些派生类不能够正常使用?声明一下不使用倒是可以通过的
      

  6.   

    如Soundboy(小猫)所说,我也觉得正常的情况应该像你说的那样
      

  7.   

    呵呵,我建立了Atl的dll,出现了你的情况。
    应该这么解释:
    在工程中#include 了使用MFC所需要的.h文件,因此编译就可以通过。mfc 的一些.lib 在你的机器上有因此链接也可以通过。这个选项可能和ATL的特性有关。
      

  8.   

    那么也就是说这样不会影响使用了?不会局限于我自己的机器?现在如果我选择in dynamic dll的话这个组件在98上面不能注册,不知道为什么,但选择in static libary又觉得大了点,网上传输会比较慢,所以考虑用“不使用”这个选项。