פורסם 2011 בפברואר 414 שנים שלום לכולם ,יש לי שאלה בנוגע לנושא שמפריע לי הרבה זמן ,אני בונה פרוייקט עם מספר גדול של קבצי C כאשר יש לי תמיד בעיות בקריאת פונקציות מקובץ אחד לשני / העברת משתנים מקובץ אחד לשני.הייתי רוצה לדעת האם אתם מכירים איזה שהוא מדריך שנותן דרך פעולה נכונה עם עבודה של מספר קבצים , העברת משתנים והשוני בינהם....לדגומא אני רוצה לקרוא לפונציה מקובץ X.C ממספר קבצים אחרים כל פעם אני מקבל התראות מהקומפיילים ומגדיר את הפונציה במקומות שונים / קבצי Header ואיך שהוא מ"קמבן" פיתרון , האם למישהו יש משהו בסגנון ?
פורסם 2011 בפברואר 414 שנים זה לא עניין של קומבינה. זה עניין של להבין מה אתה כותב.מאחר שאין לי כוח ללמד על קומפילציה ולינקוג', הנה כללים פשוטים:עליך להגדיר את הפונקציה (כלומר לממש אותה) בקובץ C אחד בלבד, אותו יש לקמפל ואז ללנקג' לפרוייקט.עליך להצהיר על הפונקציה (כלומר לתת את החתימה שלה אך לא לממש) בקובץ H אחד בלבד. את קובץ H זה עליך לכלול ע"י #include בכל קובץ C שמשתמש בפונקציה, וכן בקובץ C שממש את הפונקציה.שמירה על כללים פשוטים אלה תעשה את החיים שלך קלים יותר וטובים יותר.מי שמבין מה קורה מאחורה, יודע שבאופן מעשי אפשר לוותר או לשנות חלק מהכללים, ובגלל שהוא מבין מה קורה מאחורה, הוא יודע למה הכללים האלה טובים וכדאי לשמור עליהם.
פורסם 2011 בפברואר 414 שנים נהוג לבצע חלוקה ל- 3 (או יותר) קבצים:1) XXX_internals.h - יכיל את כל ההגדרות שדרושות למודול שלך ולא דרושות לייצוא החוצה.2) XXX_exports.h - כל ההגדרות של דברים שאתה מעוניין לייצא מהמודול שלך - פונקציות, enums וכדומה.3) XXX.c - המימוש של המודול. בתוך קובץ זה יהיה include לשני קבי ה- H.קבצים נוספים יכולים להיווסף אם אתה מעוניין לממש חלק מהפונקציות בקבצי C נוספים בגלל שהמימוש שלהם הוא קוד רב / לא שייך לשאר הלוגיקה של המודול.בכל מקום בו תרצה להשתמש במודול שלך תעשה include ל- exports.
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.