facebook pixel מדריך: פירוט שפת תכנות - define# - www.4project.co.il
Main logo www.4project.co.il
כל הרכיבים לפרוייקט שלכם
עגלת קניות

העגלה ריקה

לקוחות נכבדים, אלה שעות הפעילות של המחסן במהלך פסח 2024:
ערב חג וחג ראשון (22-23/04) - המחסן סגור
חול המועד (24-25/04) - המחסן יפעל בין 8:00 עד 15:00
ערב חג וחג שני (28-29/04) - המחסן סגור
נחזור לפעילות רגילה ביום שלישי 30/04
חג שמח!

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


2022-06-14 11:39:52
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.