לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי         אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > תכנות ובניית אתרים
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #5  
ישן 25-11-2012, 19:25
צלמית המשתמש של Idjo
  Idjo Idjo אינו מחובר  
 
חבר מתאריך: 05.05.02
הודעות: 6,840
בתגובה להודעה מספר 4 שנכתבה על ידי פסטן שמתחילה ב "אתה משתמש בספריה שכבר פתרה את..."

אין בעית אבטחה עם fgets בהנחה שאתה כותב את הקוד נכון. הבעיה היא שאתה לא יודע מה הגודל של השורה מראש ולכן לא יכול להקצות את ה-buffer בגודל המתאים.
כדי לפתור את הבעיה הזאת אני משער שצריך לכתוב משהו בסגנון: (זו סקיצה. אני משער שיש בה טעויות וכן שניתן לפשט אותה)
קוד:
char *dynamic_get(size_t estimatedSize, FILE *file) { size_t currSize = estimatedSize; char *result = malloc(currSize); if (!result) return result; char *tmp = fgets(result, estimatedSize, file); if (!tmp) { free(result); return tmp; } while (length(tmp) == estimatedSize && tmp[estimatedSize - 1] == '\n') { size_t prevSize = currSize; currSize += estimatedSize; tmp = realloc(result, currSize); if (!tmp) { free(result); return tmp; } result = tmp; tmp = fgets(result + prevSize, estimatedSize, file); if (!tmp) { if (feof(file)) return result; free(result); return tmp; } } return result; }
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #8  
ישן 25-11-2012, 21:54
צלמית המשתמש של פסטן
  פסטן פסטן אינו מחובר  
 
חבר מתאריך: 14.12.09
הודעות: 9,648
בתגובה להודעה מספר 7 שנכתבה על ידי inspired-session שמתחילה ב "סלח לי על הבורות שעלולה לעלות..."

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

מה זה fgets? זה בעצם 1 מבאפר אחד (איפה ששורת הקלט יושבת עכשיו) לבאפר השני, שאתה מספק לפונקציה.
ראה כאן, לדוגמה: http://www.freebsd.org/cgi/cvsweb.c...pe=text%2Fplain

נגיד שהגודל המקסימלי לשורת קלט היא 64K ואנחנו עובדים עם דפי זיכרון בגודל 4K. אתה יכול גם להגיד שהגודל המקסימלי לשורת
פקודה הוא 256K, או 10MB מצדי אפילו.

כשאתה מבקש ממערכת ההפעלה 10MB, היא לא באמת מפנה שלך 10MB של זיכרון פיזי. היא יכולה, אבל היא ממש לא חייבת, ואם
היא לא מפגרת היא גם לא תעשה את זה. מערכת ההפעלה אומרת לך "כן אחי. בכיף. יש'ך 10MB החל מהכתובת 0x12345678.",
אבל לא באמת מתחילה להזיז דברים בזיכרון רק כי אמרת שאתה אולי תשתמש ב-10MB מתישהו בעתיד.

ברגע שאתה מתחיל להעתיק מידע לתוך הבאפר שהקצית, מערכת ההפעלה דואגת שבאמת יהיה זיכרון לכתוב אליו. האם היא ישר
מסדרת לך 10MB פיזיים? אולי כן ואולי לא. לא בטוח שכן. אולי היא דוחה הכל, וכל פעם מחכה ל-PF ומסדרת לך זיכרון פיזי ביחידות
של 4K, לפי הדרישה?

אולי היא משתמשת בגישה אחרת כלשהי? אולי באיזו יוריסטיקה על ההתנהגות של התוכנה?

כל עוד לא יצרת בעיה של מחסור בכתובות וירטואליות, כשאתה מקצה באפר בגודל מסויים זה רק רמז למע"ה כמה זיכרון פיזי להקצות
לך, לא משהו שהיא באמת צריכה להתייחס אליו כהוראה מחייבת.
חוץ מזה, תנסה ותראה. premature optimization is the root of all evil. קודם כותבים קוד. אח"כ עושים profiling, אם יש בעיה מתקנים.*
_____________________________________
תמונה שהועלתה על ידי גולש באתר ולכן אין אנו יכולים לדעת מה היא מכילה(קרדיט למרשי)
אמר לה ינאי מלכא לדביתיה אל תתיראי מן הפרושין ולא ממי שאינן פרושין אלא מן הצבועין שדומין לפרושין שמעשיהן כמעשה זמרי ומבקשין שכר כפנחס

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

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #18  
ישן 28-11-2012, 05:57
צלמית המשתמש של פסטן
  פסטן פסטן אינו מחובר  
 
חבר מתאריך: 14.12.09
הודעות: 9,648
בתגובה להודעה מספר 17 שנכתבה על ידי RP. שמתחילה ב "[QUOTE=פסטן]חלק מהטיעונים..."

אתה מדדת וקיבלת תוצאה אחת. אחרים מדדו וקיבלו תוצאות אחרות. מה הופך את התוצאות שלך לעדיפות?

בעצם, אני מעריך שהתוצאות שלך חסרות חשיבות, אלא אם כן תפתיע אותי: על כמה קומפיילרים בדקת? כמה מימושים של הספריה הסטנדרטית בדקת? על כמה מערכות שונות בדקת?
הפתע אותי ואמור לי שלא בדקת רק גרסה אחת של מימוש אחד של iostream מול גרסה אחת של מימוש אחד של stdio.
האם המדידות שלך הראו משהו מעבר לכך שמימוש מסוים של stdio בשילוב עם קומפיילר מסוים על מחשב מסוים מסתבר כמהיר יותר ממימוש מסוים של iostream בשילוב עם קומפיילר מסוים על מחשב מסוים?


ראה את הבדיקות שעשה גורם אחר (אמנם מוטה):


ספציפית החל מסוף עמ' 6 ב-PDF, והתוצאות בתחילת עמ' 7.

בנוסף, ראה את TR 18015. אתה מוזמן לנסות את הקוד מנספח D.5 על מספר תחנות זהות, בקונפיגורציות שונות, מקומפיילרים שונים, עם מימושים שונים של הספריה הסטנדרטית, וגם אז לכל היותר אולי תראה שהמימושים הקיימים היום ל-stdio מהירים מאלה ל-iostream (אם כי, כאמור, אנשים אחרים קיבלו תוצאות אחרות ממך). ראה גם את ‎§6 במסמך.
_____________________________________
תמונה שהועלתה על ידי גולש באתר ולכן אין אנו יכולים לדעת מה היא מכילה(קרדיט למרשי)
אמר לה ינאי מלכא לדביתיה אל תתיראי מן הפרושין ולא ממי שאינן פרושין אלא מן הצבועין שדומין לפרושין שמעשיהן כמעשה זמרי ומבקשין שכר כפנחס

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

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #23  
ישן 16-04-2014, 16:37
צלמית המשתמש של פסטן
  פסטן פסטן אינו מחובר  
 
חבר מתאריך: 14.12.09
הודעות: 9,648
בתגובה להודעה מספר 22 שנכתבה על ידי The_Equivocator שמתחילה ב "בכל יום שאתה כותב קוד למיקרו..."

ציטוט:
במקור נכתב על ידי The_Equivocator
בכל יום שאתה כותב קוד למיקרו מעבדים, החיים קשים!

קשקוש בלבוש. אולי בכל יום שאתה כותב קוד למיקרו-מעבדים. אני כתבתי קוד אלפי ימים לכמה וכמה מיקרו מעבדים (עשרות או אולי מאות דגמים ממשפחות x86 ו-x86-64) ותמיד היו לי כמה וכמה מהדרי CPP לבחור ביניהם - GCC, clang, אינטל ו-Sun Studio לללינוקס ו-VC, בורלנד, MinGW ונדמה לי שגם אינטל לווינדוס, שלא לדבר על Digital Mars, Open Watcom ועוד.

אבל למרות זאת אני מעריך ומכבד את דבריך. אני שמח שהקפצת אשכול בן שנה וחצי כדי לכתוב עוד שטות. כל פעם שאני עומד לשכוח את הקטעים של "צריך לדעת API רק כדי לכתוב דרייברים" או האגדה שבג'אווה הטיפוסים המובנים לא יורשים מ-Object משפר את הביצועים, אפילו שכל מי שיש לו מושג מהחיים שלו - כולל גלעד ברכה - אומרים שלא, אתה בא ואומר שטות חדשה כדי שלא אשכח בטעות. תודה!
_____________________________________
תמונה שהועלתה על ידי גולש באתר ולכן אין אנו יכולים לדעת מה היא מכילה(קרדיט למרשי)
אמר לה ינאי מלכא לדביתיה אל תתיראי מן הפרושין ולא ממי שאינן פרושין אלא מן הצבועין שדומין לפרושין שמעשיהן כמעשה זמרי ומבקשין שכר כפנחס

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

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #27  
ישן 16-04-2014, 19:17
צלמית המשתמש של פסטן
  פסטן פסטן אינו מחובר  
 
חבר מתאריך: 14.12.09
הודעות: 9,648
בתגובה להודעה מספר 26 שנכתבה על ידי The_Equivocator שמתחילה ב "הביעה היחידה שכתבתי , 'אתה',..."

ציטוט:
במקור נכתב על ידי The_Equivocator
הביעה היחידה שכתבתי , 'אתה', ולא 'אני', מה לעשות יוצא לי בזמן האחרון לכתוב קוד בעיקר לפיקים.
נו אז? זו סיבה להקפיץ אשכול בן שנה וחצי? מה זה האוטיזם הזה?

אתה מבין בכלל את ההבדל בין מיקרו-מעבד ל-PIC? אתה יודע מה זה x86?
על זה - https://www.microchip.com/pagehandl...vtools/mplabxc/ - שמעת?
ועל http://www.rowley.co.uk/arm/ ?
אתה מודע לזה שיש הרבה PIC-ים שנתמכים על ידי GCC?
אתה מודע לזה שמהדר CPP של Comeau מוציא פלט C?
יש'ך בכלל שמץ של מושג על מה אתה מדבר או שאתה שוב זורק מילים אקראיות ולוחץ "שלח תגובה"?
_____________________________________
תמונה שהועלתה על ידי גולש באתר ולכן אין אנו יכולים לדעת מה היא מכילה(קרדיט למרשי)
אמר לה ינאי מלכא לדביתיה אל תתיראי מן הפרושין ולא ממי שאינן פרושין אלא מן הצבועין שדומין לפרושין שמעשיהן כמעשה זמרי ומבקשין שכר כפנחס

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

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #29  
ישן 16-04-2014, 19:53
צלמית המשתמש של פסטן
  פסטן פסטן אינו מחובר  
 
חבר מתאריך: 14.12.09
הודעות: 9,648
בתגובה להודעה מספר 28 שנכתבה על ידי The_Equivocator שמתחילה ב "כן אני יודע מזה פיק, כן אני..."

ציטוט:
במקור נכתב על ידי The_Equivocator
כן אני יודע מזה פיק, כן אני יודע מה זה 86.
שאלת במקור 'מתי בכלל צריך לכתוב בC', אז הנה דוגמא טובה.
אז? הוא גם לא היחיד, היו אנשים חכמים שהחליטו לא לכתוב מהדר CPP מסיבות מסויימות נייטיב לארכטקטורה הזו, אז את מציע לתרגם CPP לC?
למה לעצור כאן? אפשר גם לכתוב JAVA לפיק.
https://code.google.com/a/eclipselabs.org/p/j2c/
היו חכמים אנשים גם לדעת מה זה מיקרו קונטרולר להיות מבינים הבדל שורות קוד אלפי ימים אלפים.
_____________________________________
תמונה שהועלתה על ידי גולש באתר ולכן אין אנו יכולים לדעת מה היא מכילה(קרדיט למרשי)
אמר לה ינאי מלכא לדביתיה אל תתיראי מן הפרושין ולא ממי שאינן פרושין אלא מן הצבועין שדומין לפרושין שמעשיהן כמעשה זמרי ומבקשין שכר כפנחס

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

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #33  
ישן 18-04-2014, 00:18
צלמית המשתמש של פסטן
  פסטן פסטן אינו מחובר  
 
חבר מתאריך: 14.12.09
הודעות: 9,648
בתגובה להודעה מספר 32 שנכתבה על ידי Tom.Cruise שמתחילה ב "פסטן - אחי אתה חייב..."

ציטוט:
במקור נכתב על ידי Tom.Cruise
פסטן - אחי אתה חייב חברה...

המבלבל במוח (זה המשמעות של Equivocator) - אתה חייב להפסיק לכתוב על דברים שאתה לא מבין בהם.

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

ואתה, אחשלו גיבור, חייב ללמוד לקרוא. "אלפי דגמים של x86" עאלק. אולי אילו ידעת לקרוא קצת יותר טוב יכולת לחסוך 75,000 שקל וללכת לאוניברסיטה במקום למוסד אקדמי אלטרנטיבי...
_____________________________________
תמונה שהועלתה על ידי גולש באתר ולכן אין אנו יכולים לדעת מה היא מכילה(קרדיט למרשי)
אמר לה ינאי מלכא לדביתיה אל תתיראי מן הפרושין ולא ממי שאינן פרושין אלא מן הצבועין שדומין לפרושין שמעשיהן כמעשה זמרי ומבקשין שכר כפנחס

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

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #37  
ישן 18-04-2014, 00:38
צלמית המשתמש של פסטן
  פסטן פסטן אינו מחובר  
 
חבר מתאריך: 14.12.09
הודעות: 9,648
בתגובה להודעה מספר 36 שנכתבה על ידי Tom.Cruise שמתחילה ב "[QUOTE=פסטן] ועכשיו שאלה..."

ציטוט:
במקור נכתב על ידי Tom.Cruise
כשאתה רוצה לשמור על השפיות.

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

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

- - - - - -

Resource Acquisition Is Insanity
נכון. goto fail; goto fail;‎.

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

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

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +3. השעה כעת היא 17:40

הדף נוצר ב 0.33 שניות עם 10 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2019 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר