פורסם 2005 באוגוסט 620 שנים מדוע הפונקצייה delay בשפת C עובדת לי רק בקומפיילרים של דוס?האם יש פקודה מקבילה לקומפיילרים של ווינדוס?בתודה מראש
פורסם 2005 באוגוסט 620 שנים delay משהה את כל ה- process.ב- windows יש לך את sleep במקום שמשהה רק את ה- thread הנוכחי.
פורסם 2005 באוגוסט 620 שנים מחבר ב- windows יש לך את sleep במקום שמשהה רק את ה- thread הנוכחי.היא משהה מה?
פורסם 2005 באוגוסט 620 שנים thread - "פתיל" - "תהליך משנה" - "execution context"זה לא משנה לך הרבה, אתה יכול להשתמש ב- sleep וזהו, אבל אם זה מעניין אותך תמשיך לקרוא.בסביבת עבודה שתומכת בזה (היום זה למעשה הכל חוץ מדוס "אמיתי") לתוכנית יכולים להיות מספר threads, כלומר תת-תהליכים שלא בהכרח מפריעים אחד לשני. למשל thread אחד יכול לכתוב לדיסק בזמן ש- thread שני מעדכן את המסך, או ששני theads ניגשים לאינטרנט למקומות שונים ומביאים קבצים שונים.למעשה אתה יכול להסכל על זה כאילו יש כמה פונקציות שפועלות במקביל.קיצר, sleep משהה רק את ה- thead שקרא לה, ושאר ה- threads יוכלו להמשיך לרוץ.
פורסם 2005 באוגוסט 620 שנים מחבר אוקי אבל עכשיו שוב רק בקומפיילרים של דוס ה-sleep רצה לי...מה אפשר לעשות?בתודה מראש
פורסם 2005 באוגוסט 620 שנים אתה יכול להוסיף אצלך באחד מקבצי ה- h#ifndef _WINDOWS#define sleep(x) delay(x)#endifבשביל backward compatibility.אם יש לך עוד פונקציות שקיימות רק בפלטפורמה אחת, עדיף לך כבר לעשות לעצמך ספריה קטנה שבה אתה עושה את כל ההחלפות האלו.
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.