Headers file in C

T TECH

New member
Headers file in C

שלום. אז ככה מישהו יכול להסביר משהו בקשר לקבצי H. נגיד ופתחתי פרויקט, עכשיו נגיד אני רוצה לכתוב קובץ H איך ומה אני צריך לעשות בשביל זה. הבנתי שבקובץ הH יש צורך להכריז על כל הפונקציות שבהן אני הולך להשתמש. ואז לכתוב קובץ מימוש בC שבוא יהיה רשום המימוש של הפונקציות. עכשיו מישהו יכול להסביר לי את המבנה הבסיסי של קובץ H וקובץ מימוש בC הודה מאוד. וגם הסבר תודה מראש.
 

selalerer

New member
בסיס:

קבצי header קיימים בכדי להפריד מימוש מממשק, אתה אפילו יכול בעזרת קובץ header לפנות אל פונקציות שכבר עברו קימפול ולהשתמש בהם בתוכנית שלך, על אף שזה לא מה שעושים רוב הזמן. הייתרון הגדול העיקרי שאני רואה בהם זה שיש לך את כל ההפונקציות שאתה מתכנת במקום אחד מרוכז בלי התיחסות למה שיש בתוכן, מעיין מדריך משתמש שכזה. ונעבור לדוגמאות, נאמר אתה רוצה ליצור יחידה שמטפלת במחרוזות:
---------my_str.h------------- /*Counts the characters in a NULL terminated string.*/ /* str - The string to count characters in.*/ /* returns - the number of characters in str.*/ int my_str_len(const char *str); /*Copies a string.*/ /* src - Source string from which to copy.*/ /* dst - Destination string to which to copy.*/ /* returns - Number of characters that has been copied.*/ int my_str_copy(const char *src,char *dst); ------------------------------ --------my_str.c-------------- #include "my_str.h" int my_str_len(const char *str) { int c=0; while(str[c]!='\0') { c++; } return c; } int my_str_copy(const char *src,char *dst) { int c=0; while(src[c]!='\0') { dst[c]=src[c]; c++; } dst[c]='\0'; return c; } ------------------------------​
 

T TECH

New member
תודה על התשובה...

עכשיו נגיד והכנתי קובץ H ומימוש בC עכשיו בשביל להשתמש בזה בפרויקט אחר מה אני צריך לעשות לצרף רק את הקובץ H ולעשות INCLUDE או מה מהיא דרך העבודה.. שוב תודה.
 

Keves209

New member
כמה דברים

ההיגיון של קובץ H הוא בעיקר בתוכנות גדולות בהן הרבה אנשים מתכנתים בו זמנית, לכן כל אחד עובד על קובץ cpp (או c) משלו וקורא לקובץ h שמכיל הצהרות על פונקציות/מחלקות כלליות שמשתמשים בהם בהרבה מקומות בתוכנה. אם אתה רוצה להשתמש בפונקציות שמצהירים עליהם בקובץ h אתה חייב להצמיד איתו לפרוייקט גם את קובץ המימוש כי אחרת יש רק הצהרה. בתחלס אפשר לכתוב כל מה שכתוב בקובץ h לפני המימוש, אבל לא עושים את זה בגלל הסדר והשימוש בפונקציות כלליות מידי פעם.
 

T TECH

New member
אוקי

אז נגיד שאני עושה INCLUDEלקובץ STDIO.H אני אפילו לא שם את הקובץ, איך ניתן לעשות זאת. נגיד ואני כותב לי קובץ H מסוים עם פונקציות שונות לשימושי, ואני רוצה להשתמש בזה בכל מיני פרויקטים שלי, ואני לא רוצה להוסיף את הקבצים האלו כל פעם , אני רוצה כמו בדוגמא עם הSTDIO. תודה
 

selalerer

New member
הstdio מהבחינה הזאת הוא אותו דבר...

...הוא פשוט נמצא בספריה שהקומפיילר תמיד מחפש בה. תוכל לשים את הקבצים שלך בספריה הזאת גם, וזה יעבוד אותו דבר (אני חושב). חוץ מזה, מה כלכך קשה בלהעתיק שני קבצים לתוך הפרוייקט שלך?
 
למעלה