Threads in c++ CONSOLE application

WarLord

New member
Threads in c++ CONSOLE application

אני מעוניין ליצור פרוייקט CONSOLE ועדיין להשתמש בחוטים (threads). הפונקציות היחידות שמצאתי הן: _beginthread _endthread אני זקוק לפונקציות נוספות למשל של חוט אחד שהורג את החוט השני וכן פונקציות למניעה הדדית (mutexs) - איפה אני יכול למצוא הסברים בנושא אם בכלל ? הדגש הוא על פרוייקט CONSOLE ולא MFC או Win32
 

siftach

New member
נימים וכו´

מה הבעיה? ניתן לכתוב תוכנה שתעבוד במצב CONSOLE ועדיין תתמוך ב-MFC. אל תשאל אותי איך, אבל עשיתי את זה. :)
 

WarLord

New member
אם אתה כבר מעלה את הנושא ../images/Emo6.gif

כשעבדתי תחת UNIX היה דיי פשוט - אם רצית לעבוד עם "חוטים" פשוט קימפלת עם הספריה המתאימה. איך עושים את זה בוינדוס ? האם בכל פעם שאני רוצה שירותי מערכת הפעלה (כמו תמיכה בחוטים) אני חייב לעבור לכתיבה של WINMAIN ושיטת העבודה של לולאת ההודעות ? אני רוצה לכתוב תוכנית רגילה בלי להשתמש בלולאת הודעות. אני רוצה לרשום COUT ושזה ידפיס למסך (כמו בפרוייקט CONSOLE). אצל מיקרוסופט זה הכל או לא כלום ???
 

siftach

New member
אולי זה יעזור

אפשר לכתוב פרויקט CONSOLE ולהשתמש ב-CreateThread. בפרויקט כזה דרושה פונקצית main ולא WinMain, ככה שהשאלה בכלל לא בכיוון. הכל עובד שם - COUT וגם printf. יש לי כמה קבצי מקור שמאפשרים אפילו לכתוב בצבעים ובמקומות ספציפיים במסך. אם אתה מעוניין אני יכול לשלוח.
 

WarLord

New member
אני אשמח מאוד אם תכוון אותי

איך לכתוב פרוייקט CONSOLE ולהשתמש ב CreateThread בלי צורך בWinMain ולולאת הודעות.
 

siftach

New member
בבקשה

הקמתי פרויקט CONSOLE חדש, הגדרתי שהוא משתמש ב-Win32, וכל זאת ב-VC5. אני מקווה שזה יעזור לך.
 

WarLord

New member
תודה ../images/Emo51.gif

מסתבר שפשוט הייתי צריך להשתמש בפונקציות
תודה
 

siftach

New member
תבוא כל יום

ואם יש לך עוד שאלות בנושאים שאני לא מבין בהם, אל תתבייש.
 
מה זה זה

1) האם פונקציית main מתאימה לconsole application ופונקציית winmain לwin32api application? 2) האם אפשר לשלב בין שני היישומים?
 

siftach

New member
זה מה שזה נראה

1) כן 2) אפשר להשתמש ב-Win32 בכל מה שלא קשור לקלט/פלט של המשתמש גם באפליקציות קונסול. וזה כולל: ניהול זיכרון, DAO, ODBC, TAPI ובעצם כל מה שיש ב-MFC. פשוט אין ניהול הודעות ואין ממשק משתמש.
 
למעלה