C++應用程序的入口
來源:程序員人生 發布時間:2015-01-05 08:09:26 閱讀次數:3640次
或許,你對設計1個利用程序的入口有點茫然,我這里講1些簡單的套路
//你自己寫1個app類,繼承于1個線程類,固然這個線程類你可以自己封裝,也能夠去找開源的
class MyApp:XxThread{
public:
bool NeedStop();
void NoticeStop()<span style="font-family: Arial, Helvetica, sans-serif;">}
</span><span style="font-family: Arial, Helvetica, sans-serif;"> void Run(){</span><span style="font-family: Arial, Helvetica, sans-serif;"> </span>
while(1){
if(m_bNeedStop){
break;
}
}
}
private:
bool m_bNeedStop;
}
//最好在主線程中調用這個函數,由于這樣保證由于while的存在,主線程不會馬上退出,
//如果不在主線程中調用,那就必須有另外一個機制保證主線程會等待著子線程的運轉結束再退出
啟動APP,分兩種情況,
1種是在命令行程序中
//如果是main中調用 ,那就必須join,以夠主線程比子線程更早退出
int main(int argc, char** argv){
MyApp::GetInstance()->Start();
MyApp::GetInstance()->Join();
}
另外一種是在MFC中,
比如,在1個按鈕點擊事件中,直接調用 MyApp::GetInstance()->Start();
這次,不需要join了,由于,除非你主動關閉MFC的程序,要不然他不會自己退出
void CTxServerWinDlg::OnBnClickedButton1()
{
MyApp::GetInstance()->Start();
}
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈