לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > תכנות ובניית אתרים
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #14  
ישן 16-01-2009, 00:28
  משתמש זכר dorM dorM אינו מחובר  
מנהל
 
חבר מתאריך: 26.07.08
הודעות: 6,473
בתגובה להודעה מספר 13 שנכתבה על ידי Incred2 שמתחילה ב "כי זה מה שקבעו כשיצרו את השפה"

למה להמציא? אפשר לשפר את הקומפיילר, שזה הכיוון שאני מדבר עליו, אם זה בכלל אפשרי...
לעניות דעתי זה צריך להיות אפשרי.

כתבתי "do not really include", כי הקומפיילר יודע איפה ממוקם הקוד שהוא מקמפל, אז הוא אינו צריך לנחש פה - הוא פשוט שם לב שפקודת ה-include אינה נמצאת בראש הקובץ (ששם נמצאת רשימת האינקלודים), ואז הוא מבצע את האינקלוד כפי שכתבתי...

אני לא יודע כיצד קומפיילר פועל, ולכן כתבתי "external location" - הכוונה היא שהקוד בקובץ המאונקלד יקומפל, ותוצאת הקימפול תהיה במקום מסוים בכונן קשיח לשימוש מאוחר יותר אם יהיה צורך. הקומפיילר יעשה טבלה של קבצים המאונקלדים בצורה הנ"ל ("אינקלוד דינאמי" אקרא לזה בינתיים) ובטבלה יהיה מידע על הקבצים שאונקלדו דינאמית (מידע כמו שם הקובץ המאונקלד, המיקום שלו בכונן הקשיח וכד'). כאשר תוכנית ה-C המקומפלת תיתקל בפקודת אינקלוד דינאמית, היא תסתכל בטבלה הנ"ל ותחפש את הקובץ הרצוי ואז היא תריץ את הקוד שנמצא בקובץ הזה, כאשר זה ממוקם איפשהו בכונן הקשיח.

האם זה לא רעיון מעשי?
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #15  
ישן 16-01-2009, 00:31
  rlsf rlsf אינו מחובר  
מנהל
 
חבר מתאריך: 09.10.04
הודעות: 15,910
בתגובה להודעה מספר 14 שנכתבה על ידי dorM שמתחילה ב "למה להמציא? אפשר לשפר את..."

אתה מנסה להציע הצעות לשיפור C ע"י הפיכתה ל PHP? לשתי השפות האלו צורת עבודה שונה כי הן תוכננו בצורה שונה עבור צרכים שונים.
זה בדיוק כמו שתנסה לשפר ASSEMBLY ע"י הצעות להפוך אותה ל C, אין בזה טעם.
אתה מסתכל על פקודת ה include כפי שמסתכלים עליה ב PHP, שם היא דרך פשוטה להשתמש באותו קוד במקומות שונים.
ב C פקודת ה Include היא לא פקודת runtime אלא פקודה ל compiler (שרץ לפני הפיכת הקוד לקוד מכונה) שאומרת לו, שים בראש הקובץ גם את הקובץ הזה, אבל הקבצים היחידים ש Include של C יסכים להכניס הם קבצי HEADER - קבצים שכוללים הכרזות בלבד ולא קבצי C שכוללים מימוש, אם תנסה לעשות דבר כזה תקבל שגיאות, כיוון שבמצב כזה אותה פונקציה תוגדר עבור הקומפיילר בשני מקומות שונים והוא לא יוכל להתמודד עם הבעיה כי C לא אמורה לתמוך במצב כזה.
_____________________________________
הראל


נערך לאחרונה ע"י rlsf בתאריך 16-01-2009 בשעה 00:36.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #19  
ישן 16-01-2009, 01:02
  rlsf rlsf אינו מחובר  
מנהל
 
חבר מתאריך: 09.10.04
הודעות: 15,910
בתגובה להודעה מספר 18 שנכתבה על ידי dorM שמתחילה ב "(אחרי העריכה שעשית: ) אז..."

כאן בדיוק טמון ההבדל הגדול בין C ל PHP:
ב PHP פקודת INCLUDE קוראת לקוד PHP נוסף שיתבצע, וכמו הקוד הקורא, גם הקוד הנקרא מתקמפל בזמן אמת, ולכן אין עם זה בעיה.
ב C מטרת ה INCLUDE שונה לגמרי, המטרה של קבצי INCLUDE היא להצהיר על קיומם של טיפוסים (פונקציות מבנים וכד') שקיימים בקוד הפרוייקט, גם אם אינם ממומשים בקוד אותו הוא מנתח כרגע, כך בשלב הקומפילציה הקומפיילר בונה לעצמו טבלה של קריאות למימושים כאלה (שהוא יודע שאמורים להיות קיימים, אבל הוא עוד לא מצא מימוש שלהם) ובודק אם בסוף הקומפילציה הטבלה הזאת התמלאה (אין מימושים חסרים).
לכן אין משמעות לרעיון של "טעינת PROTOTYPES" כי אין כזה דבר, הקומפיילר חייב לדעת בזמן ה LINKAGE (עוד לפני הריצה) את המיקום בקוד התוכנית של המימוש של הפונקציה כי כשהוא ממיר את הקוד לשפת מכונה הוא מסדר את ההצבעות לפונקציות השונות (מסמן "קפיצות" אם למדת ASSEMBLY קצת).
הבעיה העיקרית שלך היא שאתה לא מבין שב C יש הנחת יסוד שאומרת שכל הקוד נתון לקומפיילר בזמן הקומפילציה (מלבד קוד שיטען דינמית בזמן הריצה, אבל לשם כך קיים מנגנון מיפוי שצריך להפעיל, הוא לא פועל על דעת עצמו) והשינוי שאתה מדבר עליו הוא שינוי שמניח שכל הקוד יהיה נתון רק בזמן ריצה, זה לא שינוי קטן או פשוט או בסיסי, זה שינוי שגורר יצירת שפה חדשה, כמו PHP או PERL או כל שפת תסריט אחרת.
_____________________________________
הראל

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #22  
ישן 16-01-2009, 00:45
  משתמש זכר dorM dorM אינו מחובר  
מנהל
 
חבר מתאריך: 26.07.08
הודעות: 6,473
בתגובה להודעה מספר 21 שנכתבה על ידי Incred2 שמתחילה ב "לא זה לא"

ציטוט:
מה יקרה כשתעתיק את התוכנה למחשב אחר ? אולי הקומפיילר שמר את זה בכונן D אבל במחשב האחר אין כונן D בכלל ?

אז שהוא ישמור את המידע הזה במקום רלונטי... למה דוקא בכונן אחר ומיקום לא קשור?

ציטוט:
אתה עדיין רוצה שבזמן קימפול הקומפיילר יחליט :
* אם זה כתוב סתם אז לעשות אינקלוד
*אם זה בתוך IF לעשות את הפעולה המיוחדת שלך

הקומפיילר עושה כ"כ הרבה דברים מסובכים, ודוקא זה החלק המסובך? :/

ציטוט:
ומה אם זה "סתם" בתוך פונקציה, אבל מישהו קורא לפונקציה בתלות בתנאי ?

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

ציטוט:
וגם הוא יעשה ניתוח סטטי מטורף מה יקרה אם הפונקציה מקומפלת בקובץ OBJ אחד וה- IF והקריאה נמצאים בקובץ OBJ אחר ? אין לו שום מושג על זה !

אני לא מכיר קובצי OBJ אבל אני מקוה שאני מבין למה הכוונה.
הוא יכול לשים את המידע הזה בטבלת המידע על קבצי האינקלוד הדינאמית, אותה טבלה שכתבתי עליה בהודעה שהגבת אליה...

אני בטוח שיש לדברים האלה פיתרון פשוט מתעצלים לפתור את זה.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #25  
ישן 16-01-2009, 01:43
  Incred2 Incred2 אינו מחובר  
 
חבר מתאריך: 03.01.09
הודעות: 239
בתגובה להודעה מספר 22 שנכתבה על ידי dorM שמתחילה ב "[QUOTE]מה יקרה כשתעתיק את..."

ציטוט:
במקור נכתב על ידי dorM
ציטוט:
מה יקרה כשתעתיק את התוכנה למחשב אחר ? אולי הקומפיילר שמר את זה בכונן D אבל במחשב האחר אין כונן D בכלל ?


אז שהוא ישמור את המידע הזה במקום רלונטי... למה דוקא בכונן אחר ומיקום לא קשור?


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



ציטוט:
במקור נכתב על ידי dorM
ציטוט:
אתה עדיין רוצה שבזמן קימפול הקומפיילר יחליט :
* אם זה כתוב סתם אז לעשות אינקלוד
*אם זה בתוך IF לעשות את הפעולה המיוחדת שלך

הקומפיילר עושה כ"כ הרבה דברים מסובכים, ודוקא זה החלק המסובך? :/


זה לא קטע מסובך ,אלא כמו שהסברתי למטה קטע בלתי אפשרי .
ניתוח סטטי אבל לעשות רק על מידע סטטי .



ציטוט:
במקור נכתב על ידי dorM
ציטוט:
ומה אם זה "סתם" בתוך פונקציה, אבל מישהו קורא לפונקציה בתלות בתנאי ?

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


מה קשור לולאה ? מה קשור אינקלוד בעצם ?
מה בכלל המשמעות של מה שאתה מדבר עליו ?
אני מבין מה המשמעות של לקרוא לפונקציה בתלות בתנאי .אני מבין להקצות זיכרון בתנאי .אני מבין להציג חלון בתנאי .אני לא מבין מה זה לעשות אינקלוד בתנאי .




ציטוט:
במקור נכתב על ידי dorM
ציטוט:
וגם הוא יעשה ניתוח סטטי מטורף מה יקרה אם הפונקציה מקומפלת בקובץ OBJ אחד וה- IF והקריאה נמצאים בקובץ OBJ אחר ? אין לו שום מושג על זה !

אני לא מכיר קובצי OBJ אבל אני מקוה שאני מבין למה הכוונה.
הוא יכול לשים את המידע הזה בטבלת המידע על קבצי האינקלוד הדינאמית, אותה טבלה שכתבתי עליה בהודעה שהגבת אליה...

אני בטוח שיש לדברים האלה פיתרון פשוט מתעצלים לפתור את זה.


זה קל להגיד " בטח יש פיתרון אבל כולם עצלנים " אבל אולי קודם כדאי שתקרא על מה זה קבצי OBJ בכלל ,תלמד קצת על איך קומפיילרים בנויים ,על התקן של שפת C ומה היא עושה ואז תתחיל לחשוב על עד כמה דברים כאלה מסובכים .
או שתדבר לעניין -תציג צורך שהשפה לא מספקת ותיתן הצעה טכנית איך לאפשר אותו- או שתצטרך להאמין לזה שאומרים לך שההצעה שלך לא נחוצה ובלתי אפשרית ליישום .
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #26  
ישן 16-01-2009, 02:55
  משתמש זכר dorM dorM אינו מחובר  
מנהל
 
חבר מתאריך: 26.07.08
הודעות: 6,473
בתגובה להודעה מספר 25 שנכתבה על ידי Incred2 שמתחילה ב "[QUOTE=dorM]ציטוט: ..."

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


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

ציטוט:
מה קשור לולאה ? מה קשור אינקלוד בעצם ?
מה בכלל המשמעות של מה שאתה מדבר עליו ?
אני מבין מה המשמעות של לקרוא לפונקציה בתלות בתנאי .אני מבין להקצות זיכרון בתנאי .אני מבין להציג חלון בתנאי .אני לא מבין מה זה לעשות אינקלוד בתנאי .

אני מדבר על הוספת prototypes לתוכנית בזמן ריצה כאשר הם כבר מקומפלים.
אינקלוד בתנאי (למרות שלא כתבתי את זה בצורה הזאת) אמור להיות:
קוד:
if (condition) #include "file.h"

בדומה אבל בשונה מאוד מהקוד של פרה-קומפילציה:
קוד:
#ifdef ... #include ".." #endif


ציטוט:
זה קל להגיד " בטח יש פיתרון אבל כולם עצלנים "

זה גם קל להתנגד לדעות של אחרים ולהגיד שזה בלתי אפשרי במקום לנסות למצוא פיתרון.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #27  
ישן 16-01-2009, 11:43
  Incred2 Incred2 אינו מחובר  
 
חבר מתאריך: 03.01.09
הודעות: 239
בתגובה להודעה מספר 26 שנכתבה על ידי dorM שמתחילה ב "[QUOTE]מה זה מיקום רלוונטי..."

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

אני לא אומר שאתה צריך להגיד לעצמך " כזה ראה וקדש " - אף פעם אל תפקפק במה שאחרים עשו ובטח K&R כאלה תותחים שהם המציאו שפה מושלמת והכל שם נכון ,אבל אני לא מומחה בינלאומי ל- C ונראה לי שזה לא יהיה מוגזם מאוד להגיד שאני מכיר ומבין C קצת יותר טוב ממך ,ואני קצת יותר נזהר כשאני אומר " למה לא עשו "


עכשיו תבין PRTOTYPE ים הם לא קוד שרץ .זה לא קוד שמתקמפל לקוד מכונה .בהנחה שמה שיש לך בקבצים שאתה עושה עליהם אינקלוד זה PROTOTYPES אז אין אפילו משמעות למילים שאמרת " לקמפל את האינקלודים "
בגלל זה אמרתי לך למעלה שקודם תגיד מה הבעיה ומה הפיצ'ר שחסר לך ב- C ,ורק אז אם אתה מבין את העסק אתה יכול להתחיל להגיד מה לשנות .
מה שאתה אומר זה כמו שאני אגיד שאני רוצה שיהיה ב - C פיצ'ר שאפשר להפריד בין הכרזות על משתנים לא רק עם פסיק אלא גם עם סימן שטרודל:
קוד:
int i, j; int i@ j;

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


עכשיו בוא נעשה שיעור קצת בשפת C

איך קוראים לפונקציה בשפת C ?

הדרך הבסיסית לקרוא לפונקציות ב- C ב -x86 היא מה שנקרא cdecl
בשיטה הזאת דוחפים את הפרמטרים למחסנית מימין לשמאל ( ככה שהראשון שמוציאים זה הכי שמאלי -הראשון ) קוראים לפונקציה ואז אחרי שהפונקציה חוזרת מי שקרא לה מנקה את הפרמטרים מהמחסנית .
דוגמה מוויקיפדיה-
For instance, the following C code function prototype and function call:
קוד:
int function_name(int, int, int); int a, b, c, x; ... x = function_name(a, b, c);
will produce the following x86 Assembly code (written in MASM syntax, with destination first):
קוד:
push c push b push a call function_name add esp, 12 ;Stack clearing mov x, eax
The calling function cleans the stack after the function call returns.
אבל יש עוד עניינים לגבי structים FLOATING POINT וערכי החזרה . בדרך כלל ערך ההחזרה חוזר ב -EAX או ב EAX וב EDX אם הוא גדול יותר ,אבל אם הוא FLOATING POINT בדרך כלל מחזירים אותו ב-ST(0) / fp0 .אבל GCC לדוגמה מחזיר STRCUT ים תמיד בזיכרון ,גם אם כל מה שיש בו זה שני int16-ים .
לא פשוט בכל אופן

מה קשור PROTOTYPES?

אבל איך הקומפיילר יודע כשהוא רואה שורה כמו
[code]double ret = cosh(13);[code]
מה זה 13 ? האם צריך לדחוף בייט עם הערך 13 או WORD עם הערך 13 או DWORD עם הערך 13 ?
בעצם ,מה שהוא צריך לדעת זה שהוא צריך להמיר את 13 ממספר שלם ל-FP ולהעביר אותו במחסנית של ה-COPROCESSOR .אבל איך הוא יכול לדעת את זה?

בשביל זה יש לו PROTOTYPE .ה-PROTOTYPE הוא רק עזרה לקומפיילר שאומרת לו איך לקמפל קריאות לפונקציות. ה-PROTOTYPES בעצמם לא מתקמפלים לקוד מכונה .

ועכשיו בגדול
אין משמעות לקיום של PROTOTYPE בתלות בתנאי זמן ריצה .צריך את ה- PROTOTYPE בזמן הקימפול כדי שהקומפיילר ידע מה לעשות עם פרמטרים של פונקציות .
C היא שפה שאמורה להיות low-level ולכן לחלוטין לא מקובל שבזמן ריצה הקוד יחליט מה לעשות עם הפמטרים איך לדחוף אותם ,באיזה סדר ,לאיזה טיפוסים להמיר ,איפה מקבלים את ערך ההחזרה וכולי .
למה ?
משתי סיבות:
* לא צריך את זה
* בעצם לפעמים קצת צריך את זה ,אבל מאוד קשה לקבוע תקן לדבר הזה ( בעצם תקן לדרך תקשורות בין מודולי תוכנה שונים כדי להחליט על דרך העברת הפרמטרים ביניהם- תקן לתקן- meta-תקן ) .גם אם קצת צריך את זה ,ההשקעה לחלוטין בלתי משתלמת וגובלת בבלתי אפשרית (אם לא חוצה את הגבול הזה )

דברים כאלה הם החלטה של המימוש ויש כל מיני מימושים שמספקים את האפשרות הזו לדוגמה IDispatch של COM .


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

נערך לאחרונה ע"י Incred2 בתאריך 16-01-2009 בשעה 11:47.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #29  
ישן 16-01-2009, 12:05
  Incred2 Incred2 אינו מחובר  
 
חבר מתאריך: 03.01.09
הודעות: 239
אני לא מבין איך חשבת את זה
בתגובה להודעה מספר 28 שנכתבה על ידי dorM שמתחילה ב "אוקי, תודה :] הסיבה שרציתי..."

אם RLSF הסביר לך למעלה http://www.fresh.co.il/vBulletin/sh...154#post3213262

ציטוט:
במקור נכתב על ידי rlsf
אתה מנסה להציע הצעות לשיפור C ע"י הפיכתה ל PHP? לשתי השפות האלו צורת עבודה שונה כי הן תוכננו בצורה שונה עבור צרכים שונים.
זה בדיוק כמו שתנסה לשפר ASSEMBLY ע"י הצעות להפוך אותה ל C, אין בזה טעם.
אתה מסתכל על פקודת ה include כפי שמסתכלים עליה ב PHP, שם היא דרך פשוטה להשתמש באותו קוד במקומות שונים.
ב C פקודת ה Include היא לא פקודת runtime אלא פקודה ל compiler (שרץ לפני הפיכת הקוד לקוד מכונה) שאומרת לו, שים בראש הקובץ גם את הקובץ הזה, אבל הקבצים היחידים ש Include של C יסכים להכניס הם קבצי HEADER - קבצים שכוללים הכרזות בלבד ולא קבצי C שכוללים מימוש, אם תנסה לעשות דבר כזה תקבל שגיאות, כיוון שבמצב כזה אותה פונקציה תוגדר עבור הקומפיילר בשני מקומות שונים והוא לא יוכל להתמודד עם הבעיה כי C לא אמורה לתמוך במצב כזה.


ואתה עוד הגבת לו !
הגבת אבל לא קראת את מה שהוא כתב לך ? :\
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #35  
ישן 16-01-2009, 12:46
  rlsf rlsf אינו מחובר  
מנהל
 
חבר מתאריך: 09.10.04
הודעות: 15,910
בתגובה להודעה מספר 34 שנכתבה על ידי dorM שמתחילה ב "אין אפשרות ליצור מחלקה? בכל..."

כיוון שב C אין ממש מחלקות, בדר"כ בתכנות בשפת C מתייחסים לקובץ או אסופת קבצים כ "מודול", לאותו מודול יש בדר"כ קובץ הכרזות חיצוני אחד (שמגדיר את הממשק החיצוני שלו לשאר הקוד) ובדר"כ גם קבצי הכרזות פנימיים (עבור הכרזות נחוצות בין חלקי המודול השונים).
מכיוון שרק שלב ה LINKAGE הוא השלב שבו דרוש כל הקוד (כל המודולים), אפשר לבנות מכל מודול בנפרד ספרייה (קבצי LIB), בשלב הזה לכל מודול חסר המימוש של הפונקציות במודולים האחרים, אבל הוא מניח שהם קיימים הודות לקבצי ההכרזות החיצוניים שנכללו במהלך הקומפילציה. אחר כך מבצעים LINKAGE על כולם ביחד, ואז ניתן לסדר את הקוד בהתאם למימושים של הפונקציות השונות.
_____________________________________
הראל

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 17:04

הדף נוצר ב 0.08 שניות עם 10 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר