פורסם 2007 ביולי 318 שנים שלום לכולםאני רוצה להוסיף לתוכנה שלי איזהשהו שעון / טיימר / בקר כך שבכל פרק זמן קבוע ,נגיד כל דקה, התוכנה תבצע איזשהי רוטינה.איך עושים כזה דבר? זאת אומרת אני רוצה ליצור משהו דינמי פחות או יותר.שאלה שנייה: ב windows ניתן לקבל מידע על קובץ מתי הוא שונה בפעם האחרונה , ז"א modified date ,איך אפשר לקבל את זה ב- ++Cתודה מראש.
פורסם 2007 ביולי 318 שנים לגבי השאלה הראשונה - יש הרבה דרכים, הכי פשוטה שהצלחתי למצוא היא באמצעות TimerQueueלגבי השאלה השנייה - תשתמש בפונקציה GetFileInformationByHandle.
פורסם 2007 ביולי 318 שנים אני חושב שאפשר לקבל סיגנלים של טימר עם SIGNAL.הנה מצאתי - http://www.mkssoftware.com/docs/man3/alarm.3.asp
פורסם 2007 ביולי 418 שנים POSIX הוא סטנדרט נחמד אבל הוא לא ANSI, ואי אפשר להניח שבכל מקום יש תמיכת POSIX.ווינדוס, לדוגמא, הוא לא POSIX ויש לא תמיכה "עקומה" בכל מה שקשור.טיימרים זה חלק מהסטנדרט של C, ולכן כל פלטפורמה עושה את זה אחרת.פלטפורמות תואמות POSIX יש להם שיטה מסויימת לעשות את זה.
פורסם 2007 ביולי 418 שנים לגבי הטיימר - אתה יכול ליצור ת'רד שמבצע Sleep למשך הזמן שרצית, ואז קורא לפונקציה. לצורך העניין, אפשר להגדיר מחלקה כזאת:class CyclicTask{public:// CTor and DTor, as usualvoid SetFuncToCall (func_type theFuncToCall);void beginCycle(){CreateThread(...);while (whatever){sleep(m_callingInterval);theFuncToCall();}}private:func_type m_funcToCall;};כמובן, זה לא יעבוד, כתבתי בעיקר את הממשק ולא הגדרתי מה סוג הפונקציה, וכו'.אם אתה עובד ב-C++, הדבר היפה יותר יהיה להגדיר בתוך המחלקה הזאת, מחלקה שיש לה פונקציה שאותה אתה רוצה להריץ, ולקבל רפרנס (או מצביע) לאובייקט מאותה מחלקה.אז ניתן לרשת מהמחלקה ולממש את מה שאתה רוצה לעשות, כולל שמירת מצב בקלות - ולהעביר את האובייקט שלך לאובייקט שמנהל את הזמנים. זאת הדרך היפה לעשות את זה, אבל זה אוברקיל אם אתה רוצה משהו ממש פשוט.כמו כן, אני לא זוכר בע"פ את הסינטקס המדוייק של פתיחת ת'רד חדש, אז גם זה בערך, אבל נדמה לי שהרעיון ברור...
פורסם 2007 ביולי 418 שנים למיטב זכרוני, ניהול ת'רדים באמצעות ה-windows API הוא די מסובך. כבר יותר פשוט להשתמש בפונקצית API קיימת.
פורסם 2007 ביולי 518 שנים ניהול ת'רדים באופן כללי זה מסובך, בפרט ב-Windows. בקשר לצרכים שלו - ה-API מאוד בסיסי ולא צריך לדעת יותר מדי. לדעתי זה יתרום לו יותר, מבחינת הבנה, מה בדיוק קורה, לעשות את זה כמו שהצעתי, בגדול.
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.