פורסם 2004 בספטמבר 2621 שנים שלום לכולםרציתי לדעת איך משתמשים בקובץ Headerלמה הוא משמש אני יודע בערך- לייצג את הפונקציותאבל אני לא מבין מאיפה הוא לוקח את הפונקציות עצמןולמה לא להשאיר את הכול בתוכנית הראשיתתודה
פורסם 2004 בספטמבר 2621 שנים הוא מכיל הצהרות על פונקציות ספריהברמה הבסיסית פונקציית ספריה היא פונקציה המגיעה עם הקומפיילר, דוגמאות לפונקציות כאלה הן printf,scanf,sqrt ועוד...בשביל להשתמש בפונקציות הנ"ל התוכנית שלך צריכה לדעת מאיפה הן לקוחות, ומי ממש אותן (איפה כתוב הקוד שלהם)ברמה הגבוה יותר זה רשימה של הצהרות על פונקציות ומבנה נתונים הממומשים בקובץ נפרד מהתוכנית שלך בהן התוכנית שלך משתמשת.יש לזה בעיקרון 2 שימושים - 1. שימוש בפונקציות ספריה (string.h sddtio.h stdlib.h math.h ועוד רבים אחרים)2. הוספה של יחידות גנריות (מתאימות להרבה שימושים) משלך.דוגמא לשימוש השני הוא מימוש של ספריה גרפית שתאפשר לך לצייר עיגולים ומרובעים על המסך. לא תרצה כל פעם לכתוב את הקוד מחדש (או להדביק אותו לקוד שלך) כי זה יהיה מסובך ומכוער. לכן אתה יכול לממש את הפונקציות פעם אחת, לזרוק אותן לתוך קובץ C נפרד ולקשר בין התוכנית שלך לקובץ C עם קובץ H המכיל הצהרות על כל הפונקציות שמימשת בקובץ C.הפוקנציות השייכות לקובץ XXX.H יהיו בקובץ XXX.C או XXX.O.סיומת O הוא סיומת של קובץ Object. קובץ זה הוא שלב ביניים בקימפול של הקובץ C, הוא מכיל את כל הקוד שלו מקודד בבינארית ככה שאת הקוד עצמו אתה לא יכול לראות.
פורסם 2004 בספטמבר 2621 שנים מחבר הסבר מעולה Holy תודה :D אבל איך אני יוצר את הקבצים האלה?? אני סתם יוצר פונקציות ושומר עם הסיומות שאמרת? ואחרי שאני שומר את הפונקציות אני צריך לשים גם בקובץ Header את השמות שלהם? ויש פקודות מיוחדות לסוגי קבצים כאלה?
פורסם 2004 בספטמבר 2621 שנים אתה כותב פונקציה בתוך קובץ C, נגיד add.c/* add.c */int add(int a,int b) { return a+b;}כותב קובץ h עם אותו שם ושם אתה מצהיר על הפונקציה/* add.h */int add(int,int);ולבסוף כותב תוכנית שתמשתמשת בקובץ הזה, אתה עושה לו include עם "" במקום <>, מה שמורה לקומפיילר לחפש אותו בספריה הנוכחית ולא בספריה בה שמורים כל קבצי ה-H של פונקציות הספריה/* main.c */#include <stdio.h>#include "add.h"int main() { int a,b; scanf("%d%d",&a,&b); printf("%d",add(a,b)); return 0;}בנוסף לפונקציות אתה יכול גם להגדיר מבנים (struct) קבצים (ע"י define), משתנים משותפים למספר קבצים ועוד כל מיני דברים
פורסם 2004 בספטמבר 2621 שנים מחבר בספרייה הנוכחית אתה מתכוון לספריהBIN???ואם אני אשים אותו ביחד עם כול הHEADER אז אני יכול להישתמש ב <>??ואיפה אני שומר את הקובץ עם ה סיומת .C
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.