是不是所以C++的PROJ都有main函数?以下是一个SKIN PROJ的主程序,我不知道从何开始,请行家指点!
#include "stdafx.h"
#include "Skin.h"
#include "MainFrm.h"
#include "ChildFrm.h"
#include "SkinDoc.h"
#include "SkinView.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CSkinApp
BEGIN_MESSAGE_MAP(CSkinApp, CWinApp)
//{{AFX_MSG_MAP(CSkinApp)
ON_COMMAND(ID_APP_ABOUT, OnAppAbout)
ON_COMMAND(ID_FILE_NEW, OnFileNew)
//}}AFX_MSG_MAP
// Standard file based document commands
ON_COMMAND(ID_FILE_NEW, CWinApp::OnFileNew)
ON_COMMAND(ID_FILE_OPEN, CWinApp::OnFileOpen)
// Standard print setup command
ON_COMMAND(ID_FILE_PRINT_SETUP, CWinApp::OnFilePrintSetup)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CSkinApp construction
CSkinApp::CSkinApp()
{
// TODO: add construction code here,
// Place all significant initialization in InitIn (more...)
这是用MFC写的
正如Hula大哥说的MFC provides a strange and huge framework that encapsulates WinMain or _tWinMain.
在MFC中,main被封装了。 在VC(VisualStudio)的安装目录下可以找到源程序(\VC98\MFC\SRC\WINMAIN.CPP)。程序在编译时,会自动把该函数链接到你的程序中的。(这个函数不可更改)
下面是它的一个简化版本: (摘自MFC深入浅出)
void main()
{
CWinApp* pApp = AfxGetApp(); //取得用户程序指针
pApp->InitApplication();
pApp->InitInstance();
pApp->Run();
}
(注:上面三个函数都是虚拟函数,如在用户程序中没有改写,执行的将是CWinApp中的对应函数。)
所以,可以把InitApplication和InitInstance看作程序入口点。
(要理解MFC,推荐侯先生的"MFC深入浅出")
在MFC中,main被封装了。 在VC(VisualStudio)的安装目录下可以找到源程序(\VC98\MFC\SRC\WINMAIN.CPP)。程序在编译时,会自动把该函数链接到你的程序中的。(这个函数不可更改)
下面是它的一个简化版本: (摘自MFC深入浅出)
void main()
{
CWinApp* pApp = AfxGetApp(); //取得用户程序指针
pApp->InitApplication();
pApp->InitInstance();
pApp->Run();
}
(注:上面三个函数都是虚拟函数,如在用户程序中没有改写,执行的将是CWinApp中的对应函数。)
所以,可以把InitApplication和InitInstance看作程序入口点。
(要理解MFC,推荐侯先生的"MFC深入浅出")