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.