ABA


"עבודה יעילה עם מחרוזות (שפת C).."
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #10410 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 10410
VeNom  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 7.6.02
7922 הודעות, 1 פידבק, 2 נקודות
   14:20   21.06.11   
אל הפורום  
  עבודה יעילה עם מחרוזות (שפת C)..  
 
   אהלן,
אני ניגש למבחנים של איזו חברה למשרת C\C++.

הבנתי שאני אמור לעבוד שם בצורה כמה שיותר יעילה בקטע של פירוק\העתקה ועוד כל מיני דברים על מחרוזות.
אני די שולט בשפת סי(עשיתי 2 קורסים בשנה הראשונה)..עוד קורס ב C++(שיש לו די הרבה משותף) ועוד קורס של מערכות הפעלה.
העניין הוא שממה שהבנתי מחפשים שם עבודה כמה שיותר יעילה עם מחרוזות.

אז אני אשמח לדעת האם קיימת פונקציה שעוסקת בפירוק מחרוזת ע"י DELIMITERבצורה טובה יותר מ STRTOK?
האם קיימת פונקציה שמעתיקה ומשרשרת מחרוזות בצורה יותר יעילה מאשר STRCPY\STRCAT?
קליטה של מחרוזת מהמשתמש איך הכי יעיל לעשות? באמצעות FGETS? באמצעות SCANF? בדרך אחרת?

האם עבודה עם IF\ELSE מהירה יותר מעבודה עם SWITCH?

ובכלל אני אשמח לקבל טיפים מאנשים שבאמת מבינים את ההבדלים הקטנים..


תודה רבה.


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  זו חברה מנתניה? (ברח לי השם שלה) Net_Boy  21.06.11 14:36 1
     לא אחי.. VeNom  21.06.11 18:02 2
  מכתב Deuce  26.06.11 19:04 3
     אני לא יודע איך בדיוק לממש ב C אבל.. Yariv-H 26.06.11 19:43 4
         אתה מתכוון לmalloc? afroman50 01.07.11 23:45 6
             מהספרייה stdlib? afroman50 01.07.11 23:45 7
                 אמ.. אולי .. Yariv-H 02.07.11 07:52 8
             אין שום קשר ל-malloc (או ל-kmalloc אפילו). Deuce  04.07.11 20:28 9
  תודה לכולם, זה כבר לא רלוונטי VeNom  27.06.11 00:31 5

       
Net_Boy  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 1.4.02
17151 הודעות, 1 פידבק, 2 נקודות
   14:36   21.06.11   
אל הפורום  
  1. זו חברה מנתניה? (ברח לי השם שלה)  
בתגובה להודעה מספר 0
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
VeNom  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 7.6.02
7922 הודעות, 1 פידבק, 2 נקודות
   18:02   21.06.11   
אל הפורום  
  2. לא אחי..  
בתגובה להודעה מספר 1
 
   אני מאמין שהרבה מקומות עושים ראיונות עבודה באותו סגנון..


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Deuce 
חבר מתאריך 1.9.08
6225 הודעות, דרג אמינות חבר זה
   19:04   26.06.11   
אל הפורום  
  3. מכתב  
בתגובה להודעה מספר 0
 
מלבד יעילות כדאי לך לדעת גם את החולשות של הדברים.
strtok יעילה מאד אבל תשים לב שהיא לא reentrant. לגבי strcpy, strcat הן הכי יעילות שאני מכיר. fgets מהירה יותר מ-scanf כי היא לא עושה בדיקות שהמחרוזת הנתונה מתאימה לפורמט מסויים. באופן כללי IF/ELSE אינו מהיר יותר מ-SWITCH, אלא שצריך לשים לב למקרי קצה בהן הקומפיילר עלול לקמפל את ה-SWITCH-CASE BLOCK בצורה לא מספיק טובה.

לגבי טיפים, צריך לחיות את זה ולהתעסק בזה לא מעט כדי להכיר את עולם ה-LOW LEVEL. זה לא דברים שאתה יכול להתכונן אליהם. אם יש לך מספיק ידע תתקבל ואם לא, אז כנראה שלא

בהצלחה !






                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Yariv-H לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 24.3.02
5856 הודעות, 1 פידבק, 2 נקודות
   19:43   26.06.11   
אל הפורום  
  4. אני לא יודע איך בדיוק לממש ב C אבל..  
בתגובה להודעה מספר 3
 
   למדנו באסמבלר , שיש אופציה לבחור איזה בלוקים להעלות לזכרון ממטמון בזמן ריצה של התוכית עצמה.

סוג של פרדיקשין על מצבים מסויימים ואיזה חלק מהתוכנית עכשיו להכניס לזכרון.

אני לא יודע אם יש אופציה לקנפג את זה ב C אבל אני מאמין שבמידה ויש מידע כל שהוא על הקלט , הסתברות של הופעת קלטים מסוימים זה יכול ליעל את זמן הריצה של טעינה וכו..



                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
afroman50
חבר מתאריך 16.8.04
12555 הודעות, 1 פידבק, 0 נקודות
   23:45   01.07.11   
אל הפורום  
  6. אתה מתכוון לmalloc?  
בתגובה להודעה מספר 4
 


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
afroman50
חבר מתאריך 16.8.04
12555 הודעות, 1 פידבק, 0 נקודות
   23:45   01.07.11   
אל הפורום  
  7. מהספרייה stdlib?  
בתגובה להודעה מספר 6
 


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Yariv-H לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 24.3.02
5856 הודעות, 1 פידבק, 2 נקודות
   07:52   02.07.11   
אל הפורום  
  8. אמ.. אולי ..  
בתגובה להודעה מספר 7
 
   אני יודע ש מאללוק מקצה זכרון , אבל אני לא יודע אם יש שם אופציה של פרדיקשיון איזה קטעים בתוכנית של C להעלות לזכרון קאש..

באסמבלר היה לך אופציה שנניח והייתה רושם
IF (balalalalaalal)
{
}
else
{
}

אז נניח והיית יודע שברוב הפעמים התשובה ל IF תיהיה לא , אז בדיפולט התוכנה עצמה תעלה ל זכרון את החלק של התוכנית ב ELSE ובמידה והתנאי היה True
אז היא תעלה מחדש את החלק של ה True

בשביל לשפר זמני רציה.



                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Deuce 
חבר מתאריך 1.9.08
6225 הודעות, דרג אמינות חבר זה
   20:28   04.07.11   
אל הפורום  
  9. אין שום קשר ל-malloc (או ל-kmalloc אפילו).  
בתגובה להודעה מספר 6
 
כדי לעשות דברים כאלה ב-C צריך לרדת לרמה מאד נמוכה וזה ממש חורג מגבולות הדיון.

באופן כללי זה יכול להיות יעיל מן הסתם כאשר אפשר לזהות דפוס התנהגות שחוזר על עצמו.






                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
VeNom  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 7.6.02
7922 הודעות, 1 פידבק, 2 נקודות
   00:31   27.06.11   
אל הפורום  
  5. תודה לכולם, זה כבר לא רלוונטי  
בתגובה להודעה מספר 0
 
   ובקשר לLOWLEVEL אז ברור לי שזה משהו שבא עם הניסיון.
לא ניסיתי להיכנס לאופטימזציות של פעולת אסמבלר אחת..אלא יותר בקטע כללי(פונקציות שיותר יעילות בצורה די משמעותית לדוגמא)..


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net