我想創建一個非常簡單的後臺應用程序。 我開始與空C++項目,並創建一個source.cpp文件與下面的代碼:從零開始創建C++背景MFC應用程序
#include "Windows.h"
int WINAPI _tWinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{
MSG Msg;
while (GetMessage(&Msg, NULL, 0, 0))
{
}
return 0;
}
然後我設置項目的設置如下:
屬性 - >配置屬性 - >鏈接 - >系統:設置子系統:WINDOWS(/子系統:WINDOWS)
屬性 - >配置屬性 - >鏈接器 - >高級 - >設置入口點是:_tWinMain
我這樣做對嗎?另外我想將MFC庫添加到此項目中,以便可以使用MFC的功能,我該怎麼做?
感謝您的閱讀:)
編輯: 奇怪,我只需要包含 「TCHAR.H」 和錯誤[LNK1561:入口點必須定義]消失。我不需要再配置項目設置。我需要的是以下代碼:
#include "Windows.h"
#include "tchar.h"
int WINAPI _tWinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{
//MessageBox(0, _T("test"), _T("Test"), 0);
return 0;
}
我想從頭開始,所以我可以完全理解Windows進程如何運行。 – 123iamking
不要擺弄入口點。保持默認狀態。如果您將其設置爲「_tWinMain」,那麼您將跳過**所需的** CRT啓動代碼。這包括靜態存儲持續時間等對象的初始化程序。如果你想了解Windows進程如何工作,請閱讀一本書(比如Russinovich的* Windows Internals *)。無論你做什麼,都不要添加MFC。這會讓它更難以理解,發生了什麼。更重要的是,如果您不熟悉C++,Windows API或MFC。 – IInspectable
如果我沒有配置入口點,項目將不會生成,它會顯示錯誤:入口點必須定義,所以我按以下方式進行:http://stackoverflow.com/questions/17070367/link-fatal -error-lnk1561-entry-point-must-be-defined-error-in-vc – 123iamking