פירוט שפת תכנות - define#

פורום זה מכיל תרגום לעברית של מדריכים, דוגמאות קוד, פירוט שפת תכנות לכרטיסי Arduino וחומרים לימודיים אחרים מהאתר arduino.cc

פירוט שפת תכנות - define#

הודעהעל ידי Alex » א' ספטמבר 14, 2014 9:06 pm

define# הוא מרכיב שימושי של שפת תכנות C המאפשר למתכנת לתת שמות לקבועים לפני שהתוכנית עוברת הדור (compilation). הגדרת קבועים בצורה זו לא תופסת מקום במיקרובקר. המהדר (compiler) יחליף את ההפניות לקבועים שהוגדרו עם define# בזמן הידור.
לגישה זו לפעמים יש גם אפקטים לא רצויים, לדוגמה כאשר השם שהשתמשתם בו ב-define# כלול בשם של קבוע או משתנה כלשהו. במקרה כזה הטקסט יוחלף במספר (או מחרוזת) אליו מפנה ה-define#.
באופן כללי, שימוש בפקודת const היא דרך מעודפת להגדרת קבועים וצריך להשתמש בה במקום ה-define#.
בסביבת פיתוח Arduino התחביר של ה-define# זהה לתחביר של שפת C:

תחביר
קוד: בחר הכל
#define constantName value

שימו לב שיש סימן # לפני ה-define.

דוגמה
קוד: בחר הכל
#define ledPin 3
// The compiler will replace any mention of ledPin with the value 3 at compile time.


טיפ
שימו לב שלא שמים נקודה פסיק אחרי הגדרת ה-define#. אם תשימו, המהדר (compiler) ידווח על הרבה שגיאות לא ברורות לאורך כל הקוד שמשתמש ב-define# כזה.
קוד: בחר הכל
#define ledPin 3;    // this is an error


באופן דומה שימוש בסימן שווה ב-define# יוביל לשגיאות הידור רבות ולא ברורות.
קוד: בחר הכל
#define ledPin  = 3  // this is also an error


ראו גם:
const
הגדרת קבועים שלמים (integer)

פירוט שפת תכנות לסביבת Arduino


עמוד זה הוא תרגום של define לפי רישיון Creative Commons Attribution-ShareAlike 3.0.
www.4project.co.il
כל הרכיבים לפרוייקט שלכם
סמל אישי של המשתמש
Alex
מנהל האתר
 
הודעות: 7907
הצטרף: ה' ינואר 28, 2010 8:27 pm

חזור אל תרגום מדריכים מהאתר arduino.cc

Jump box

מי מחובר

משתמשים הגולשים בפורום זה: CCBot [Bot]