30-01-2010, 17:38
|
מנהל
|
|
חבר מתאריך: 26.07.08
הודעות: 6,473
|
|
ציטוט:
1. אתה לא מעביר לפונקציה מחרוזות, אלא מצביעים (char*), לכן זה מאוד הגיוני שתעביר פעמיים מצביע לאותו נתון, ולא תשכפל את הנתון פעמיים.
|
כן, אבל זה לא היה לי ברור כיוון שאם הקומפיילר לא נדרש לבצע אופטימיזציה, אז הוא אמור להדר את הקוד כמו שהוא כתוב מבלי לבצע את המיון וניפוי שכתבת בסוף סעיף 2, ולכן שאלתי את השאלה הזו כדי לדעת עד כמה האופטימיזציה הבסיסית מבוצעת.
ציטוט:
2. זה לא קשור ל-define בשום צורה
|
נכון, גם אני חשבתי שזה לא ממש קשור, אבל חשבתי עוד 2 דברים:
1. אולי הקדם-מהדר (precompiler) שולח לקומפיילר מידע של אילו מחרוזות הוגדרו בקבועים ואיפה הקדם-מהדר הציב את המחרוזות האלו בקוד, כדי שהקומפיילר יוכל לבצע אופמטימיזציה בקלות יותר.
2. בד"כ אני מעדיף לבצע "העתק-הדבק" לקוד, כדי שלא יהיה מצב שאכתוב קוד עקרוני (קוד שמדגים מה הקוד המקורי עושה) ואז לבסוף יתברר לי שהעלמתי פרט(ים) חיוני.
|