mfc类是全部提供源码吗?还有,可以修改mfc的源码吗?
1.
我想知道mfc这个类库是通过几种形式提供的,我知道有一部分源码,好象在
include和src目录下吧,
还有一个目录lib,下面有*.lib和*.pdb,我不知这两类文件是不是mfc类库的一部分,这是什么文件呢?2.对于mfc类库中有源码的,可以自已修改源码吗?允许这样做吗?

解决方案 »

  1.   

    其实修改貌似不管用,IDE貌似对那些源码不在编译.直接使用中间文件
    自己可以找个小函数改改试试.
      

  2.   

    你说的中间文件是什么,
    *.lib,*.pdb 吗?
      

  3.   

    不可以!否则要重新编译MFC!!
      

  4.   

    自已写的mfc程序,在编译时,mfc源码也要参与编译吗?是不是源码只是给大家看一下,实际引用的,是微软提前编译好的二进制文件呢?
      

  5.   

    部分提供源码
    可以修改然后再编译成库,VC提供了make文件,可以在MFC目录里找找
      

  6.   

    提供所有的源码,  可以修改, 可是编译时不会调用的, 因为编译时时调用封装好的dll.
      

  7.   

    参与编译的是lib.文件,pdb是调试用的符号文件
    简单来说就是调试的时候依靠pdb文件和MFC库源文件关联起来,这样你就可以源代码级调试 
      

  8.   


    当然了,我不会去改它,我就是了解一下,这样做行不行。
    1.确实提供所有的源代码吗?
    2.如果是的话,我可以直接编译成dll,替换原来的dll,不就可以实现,编译时调用自已修改的结果了吗?
    我的理解对吗?
      

  9.   

    不允许,有些修改了也没用,因为MFC动态库你没法改啊,你怎么编MFC啊,工程都没有,你以为只是把代码加进去就编成dll了,梦吧
      

  10.   

    MFC提供了所有源代码。但是为什么你要改MFC的源代码呢?
    如果需要修改和扩充MFC的功能,可以通过继承、重载MFC的类和具体的方法来实现,
    完全没必要改MFC代码。
      

  11.   


    理论上可以的. mfc本来就是开源的. 呵呵. vc安装目录有源码的.
      

  12.   

    为什么程序单步调试时,在mfc源码中设断点,确实有效呢?
    实际引用的不是二进制文件吗?
      

  13.   


    那是因为调用的debug版本的dll, 当然可以了. 你搞自己的dll, 试试.debug版本的.
      

  14.   

    Firefox 目录下有个文件:mozcrt19.dll 信息:
    File Version:  8.0.0.0
    Description:   User-Generated Microsoft (R) C/C++ Runtime Library
    Copyright:     Copyright (C) Microsoft Corporation.微软 CRT 可以自制, 有 makefile 可用, MFC 不知道.