MFC AppWizard创建的应用程序为什么能调用APPCORE.CPP里的CWinApp
我看孙鑫的VC视频20讲,看到Lesson3,不明白里面在讲MFCAppWizard创建应用程序exe类的窗口程序时,我建立的文件名是Test,在跟踪调试时,按照视频上的...
我看孙鑫的VC视频20讲,看到Lesson3,不明白里面在讲MFC AppWizard 创建应用程序exe类的窗口程序时,我建立的文件名是Test,在跟踪调试时,按照视频上的步骤在Microsoft Visual Studio\VC98\MFC里的有些文件中的有些代码段设置断点,(例如APPCORE.CPP里的CWinApp::CWinApp(LPCTSTR lpszAppName)
{
---
}
设置断点),而在头文件里没有直接定义CWinApp,只有个CTestApp的声明。
class CTestApp : public CWinApp
{
public:
CTestApp();
在工程里有个全局变量CTestApp theApp;
视频里讲解说是创建子类CTestApp对象,首先要调用父类的CWinApp的构造函数,再调用子类CTestApp的构造函数。但是我不明白在头文件声明里没有声明
CWinApp,为什么允许调用CWinApp,而且这个CWinApp还在Microsoft Visual\Studio\VC98\MFC\SRC\APPCORE.CPP里定义的。是不是MFC创建的这类应用程序都默认允许可以调用Microsoft Visual\Studio\VC98\MFC\下的所有文件里的代码?那它是怎么做到的能让它默认允许可以调用的?
之后与stone_dongdong的对话
syh0418 13:55:39
关于 SRC\ 下的所有 .CPP代码,只是微软拿来给开发者看的,程序编译的时候不会编译他的,
syh0418 13:56:09
你好,不编译,那么程序在运行时是否调用呢?
syh0418 13:57:18
如果把那些.CPP删除。。。
stone_dongdong 13:58:41
调用的是 dll 中的函数地址,跟cpp没关
stone_dongdong 13:58:53
删掉不影响,只是不能调试
syh0418 14:00:13
是这样啊。。。是 windows文件夹下system32下的dll还是那里的dll?
stone_dongdong 14:03:08
安装后都在system32下
syh0418 14:03:44
呵呵,我追加了10分
stone_dongdong 14:05:04
好
最后感谢:sys_master 14566666 stone_dongdong 展开
{
---
}
设置断点),而在头文件里没有直接定义CWinApp,只有个CTestApp的声明。
class CTestApp : public CWinApp
{
public:
CTestApp();
在工程里有个全局变量CTestApp theApp;
视频里讲解说是创建子类CTestApp对象,首先要调用父类的CWinApp的构造函数,再调用子类CTestApp的构造函数。但是我不明白在头文件声明里没有声明
CWinApp,为什么允许调用CWinApp,而且这个CWinApp还在Microsoft Visual\Studio\VC98\MFC\SRC\APPCORE.CPP里定义的。是不是MFC创建的这类应用程序都默认允许可以调用Microsoft Visual\Studio\VC98\MFC\下的所有文件里的代码?那它是怎么做到的能让它默认允许可以调用的?
之后与stone_dongdong的对话
syh0418 13:55:39
关于 SRC\ 下的所有 .CPP代码,只是微软拿来给开发者看的,程序编译的时候不会编译他的,
syh0418 13:56:09
你好,不编译,那么程序在运行时是否调用呢?
syh0418 13:57:18
如果把那些.CPP删除。。。
stone_dongdong 13:58:41
调用的是 dll 中的函数地址,跟cpp没关
stone_dongdong 13:58:53
删掉不影响,只是不能调试
syh0418 14:00:13
是这样啊。。。是 windows文件夹下system32下的dll还是那里的dll?
stone_dongdong 14:03:08
安装后都在system32下
syh0418 14:03:44
呵呵,我追加了10分
stone_dongdong 14:05:04
好
最后感谢:sys_master 14566666 stone_dongdong 展开
展开全部
lz,你太吝啬了,也不给分。
CWinApp 在 afxwin.h中定义。
MFC程序默认都已经包含了的
关于 SRC\ 下的所有 .CPP代码,只是微软拿来给开发者看的,程序编译的时候不会编译他的,只不过MFC库的程序数据库文件 *.pdb 映射到这些cpp里面,方便开发者调试使用。
关于可以调用,是因为,vc工程里面有默认依赖库的设置(“连接器”-“输入”)。编译的时候读取 MFC的*.h文件,连接的时候就从默认输入库里面查找
mfc71.dll/mfc71d.dll,msvcr71.dll/msvcr71d.dll 。。。
CWinApp 在 afxwin.h中定义。
MFC程序默认都已经包含了的
关于 SRC\ 下的所有 .CPP代码,只是微软拿来给开发者看的,程序编译的时候不会编译他的,只不过MFC库的程序数据库文件 *.pdb 映射到这些cpp里面,方便开发者调试使用。
关于可以调用,是因为,vc工程里面有默认依赖库的设置(“连接器”-“输入”)。编译的时候读取 MFC的*.h文件,连接的时候就从默认输入库里面查找
mfc71.dll/mfc71d.dll,msvcr71.dll/msvcr71d.dll 。。。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询