[問題] 呼叫副程式,但是運作時是在不同的記憶體
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
VC++
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
問題(Question):
請問我要如何讓我的ThreadFunc每次在呼叫副函式delayFun後, 副函式每次工作的
記憶體區塊並不是同一個, 而不是每次副函式都是在同一個記憶體區塊執行;
因為這牽涉到Delay時間, 如果都在同一個記憶體區塊工作的話, 舊的Delay time會被
新的Delay time給覆蓋掉, 造成第一個Delay時間還沒等待完成, 馬上就要執行下一個
動作了.
請問有什麼寫法可以解決這個問題嗎? 不一定要按照我的程式碼.
餵入的資料(Input):
void *data, double timeDelay
預期的正確結果(Expected Output):
錯誤結果(Wrong Output):
程式碼(Code):(請善用置底文網頁, 記得排版)
void delayFun(void *data, double timeDelay)
{
double* number = (double*) data;
printf("%f,%f\n", number[0], number[1]);
Sleep(timeDelay);
}
UINT ThreadFunc(LPVOID pParamMain)
{
int count = 0;
while(true)
{
if(count<1)
{
delayFun(imgData, 5000);
}
else
{
delayFun(imgData, 100);
}
count++;
}
return 0;
}
補充說明(Supplement):
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.61.242.39
推
02/23 17:40, , 1F
02/23 17:40, 1F
→
02/23 17:41, , 2F
02/23 17:41, 2F
推
02/23 18:56, , 3F
02/23 18:56, 3F
→
02/23 18:57, , 4F
02/23 18:57, 4F
→
02/23 23:28, , 5F
02/23 23:28, 5F
→
02/25 08:05, , 6F
02/25 08:05, 6F