#pragma data_seg之前從來(lái)沒(méi)有用過(guò),今天找出了它的一個(gè)妙用。
持續(xù)整理中......
#pragma data_seg介紹
應(yīng)用一:?jiǎn)螒?yīng)用程序。
有的時(shí)候我們可能想讓一個(gè)應(yīng)用程序只啟動(dòng)一次,就像單件模式(singleton)一樣,實(shí)現(xiàn)的方法可能有多種,這里說(shuō)說(shuō)用#pragma data_seg來(lái)實(shí)現(xiàn)的方法,很是簡(jiǎn)潔便利。
應(yīng)用程序的入口文件前面加上
#pragma data_seg("flag_data")
int app_count = 0;
#pragma data_seg()
#pragma comment(linker,"/SECTION:flag_data,RWS")
然后程序啟動(dòng)的地方加上
if(app_count>0) // 如果計(jì)數(shù)大于0,則退出應(yīng)用程序。
{
//MessageBox(NULL, "已經(jīng)啟動(dòng)一個(gè)應(yīng)用程序", "Warning", MB_OK);
//printf("no%d application", app_count);
return FALSE;
}
app_count++;