C++應用程序的入口
也許,你對設計一個應用程序的入口有點茫然,我這裡講一些簡單的套路
//你自己寫一個app類,繼承於一個線程類,當然這個線程類你可以自己封裝,也可以去找開源的
class MyApp:XxThread{
public:
bool NeedStop();
void NoticeStop()}
void Run(){
while(1){
if(m_bNeedStop){
break;
}
}
}
private:
bool m_bNeedStop;
}
//最好在主線程中調用這個函數,因為這樣保證因為while的存在,主線程不會馬上退出,
//如果不在主線程中調用,那就必須有另一個機制保證主線程會等待著子線程的運轉結束再退出
啟動APP,分兩種情況,
一種是在命令行程序中
//如果是main中調用 ,那就必須join,以夠主線程比子線程更早退出
int main(int argc, char** argv){
MyApp::GetInstance()->Start();
MyApp::GetInstance()->Join();
}
另一種是在MFC中,
比如,在一個按鈕點擊事件中,直接調用 MyApp::GetInstance()->Start();
這次,不需要join了,因為,除非你主動關閉MFC的程序,要不然他不會自己退出
void CTxServerWinDlg::OnBnClickedButton1()
{
MyApp::GetInstance()->Start();
}