ABA


"נואש! חייב עזרה בפרוייקט ב C!!"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #10798 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 10798
dvir8
חבר מתאריך 13.5.02
5929 הודעות
   22:14   30.07.12   
אל הפורום  
  נואש! חייב עזרה בפרוייקט ב C!!  
 
   יש לי פרוייקט להגיש מסיבה כלשהי אני מקבל multi definiton ואני לא יודע להתגבר על זה.

יש לי קבצי header בהם הצהרתי על משתנה גלובלי.

אני עושה בו שימוש בשאר הקבצים. מה אני לא עושה בסדר?


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  הגדרה מחדש של משתנה גלובלי אולי תגרום לבעיה afroman50 30.07.12 22:28 1
  בכל קבצי ההאדר הגדרת? ldan192  30.07.12 22:31 2
     הם מאותחלים בקובץ header! dvir8 30.07.12 22:37 4
         אתה מתכוון שיש כמה משתנים גלובאליים בקובץ האדר יחיד, כן? ldan192  30.07.12 22:48 6
             אגב, יש לך גם אופציה שרק להצהיר בהאדרים ולאתחל באחד מקבצי ה-C ldan192  30.07.12 22:53 7
             תודה רבה אחשלי! dvir8 30.07.12 22:55 8
                 אחלה :) ldan192  30.07.12 23:10 9
  רגע הכוונה היא ל Precompiled header ? Webmonster 30.07.12 22:33 3
     אממ קובץ .h רגיל dvir8 30.07.12 22:46 5
         אתה מגדיר את המשתנים גלובלים ככה:? Webmonster 31.07.12 22:29 10

       
afroman50
חבר מתאריך 16.8.04
12555 הודעות, 1 פידבק
   22:28   30.07.12   
אל הפורום  
  1. הגדרה מחדש של משתנה גלובלי אולי תגרום לבעיה  
בתגובה להודעה מספר 0
 


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ldan192 
חבר מתאריך 14.9.08
95119 הודעות
   22:31   30.07.12   
אל הפורום  
  2. בכל קבצי ההאדר הגדרת?  
בתגובה להודעה מספר 0
 
איפה הם מאותחלים?
אתה משתמש בהם בהאדרים או רק ב-C files?
אתה רוצה שיהיו לך כמה משתנים גולבאליים עם אותו שם או שאתה רוצה שכולם ישתפו מרחב זכרון?


בברכה,
עידן


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
dvir8
חבר מתאריך 13.5.02
5929 הודעות
   22:37   30.07.12   
אל הפורום  
  4. הם מאותחלים בקובץ header!  
בתגובה להודעה מספר 2
 
   אני מכריז ומאתחל אותם שם.
ומבצע בהם שימוש בקבצי c אחרים.

ז"א אני עושה include בקובץ ב c אחר ופשוט משתמש בו.
אולי אני טועה? אולי אני צריך extern? אם כן איפה אני שם אותו?
עידן יש מצב אתה מתחבר אלי למחשב ומציץ על זה שניה?


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ldan192 
חבר מתאריך 14.9.08
95119 הודעות
   22:48   30.07.12   
אל הפורום  
  6. אתה מתכוון שיש כמה משתנים גלובאליים בקובץ האדר יחיד, כן?  
בתגובה להודעה מספר 4
 
לא כמה משתנים בכמה קבצים האדר שונים.

אם ככה - למה ציפית?
כל קובץ C שמבצע include ל-h file הרי רושם בתחילת הקובץ (או לאן שההאדר מועתק) את האתחול (בין היתר, וכי אתחלת ולא רק הצהרת) של המשתנה הגלובאלי.
כלומר יש לך כמה קבצי Obj שמכילים אותו משתנה גלובאלי.

יש לך לכן 2 אופציות:
1. שהמשתנים יהיו סטטיים ואז יש אינסטנס יחיד לכל Obj (לא משתפים ערכים)
2. להעביר את המשתנה הגלובאלי לאחד קבצי ה-C ולשתף אותו בין האינסטנסים באמצעות extern.
יש גם אפשרות שזה יהיה בהאדר ובאמצעות ifndef לקבוע אחד שהוא הצהרה והשאר extern-ים.

משהו כזה -
#ifdef LOL
int lol = 3;
#else
extern int lol;
#endif

ולפני ההאדר של אחד (!) מקבצי ה-C להגדיר #define LOL


בברכה,
עידן


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ldan192 
חבר מתאריך 14.9.08
95119 הודעות
   22:53   30.07.12   
אל הפורום  
  7. אגב, יש לך גם אופציה שרק להצהיר בהאדרים ולאתחל באחד מקבצי ה-C  
בתגובה להודעה מספר 6
 
ויש עוד כמה וכמה (מה שנקרא - שפע) פתרונות לזה.
בכלל, עצם זה שמתחילים להתעסק במשתנים גלובאליים כבר מעלה צחנה...

בכל מקרה, רק צריך לבחור אחת שמתאימה לך


בברכה,
עידן


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
dvir8
חבר מתאריך 13.5.02
5929 הודעות
   22:55   30.07.12   
אל הפורום  
  8. תודה רבה אחשלי!  
בתגובה להודעה מספר 6
 
   הצלת אותי

בסוף שמתי הכל בקובץ אחר.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ldan192 
חבר מתאריך 14.9.08
95119 הודעות
   23:10   30.07.12   
אל הפורום  
  9. אחלה :)  
בתגובה להודעה מספר 8
 


בברכה,
עידן


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Webmonster
חבר מתאריך 21.4.02
2499 הודעות
   22:33   30.07.12   
אל הפורום  
  3. רגע הכוונה היא ל Precompiled header ?  
בתגובה להודעה מספר 0
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
dvir8
חבר מתאריך 13.5.02
5929 הודעות
   22:46   30.07.12   
אל הפורום  
  5. אממ קובץ .h רגיל  
בתגובה להודעה מספר 3
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Webmonster
חבר מתאריך 21.4.02
2499 הודעות
   22:29   31.07.12   
אל הפורום  
  10. אתה מגדיר את המשתנים גלובלים ככה:?  
בתגובה להודעה מספר 5
 
  

#DEFINE X 10

ככה אתה מקליד את זה?


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net