נושאים פעיליםנושאים פעילים  הצגת רשימה של חברי הפורוםרשימת משתמשים  חיפוש בפורוםחיפוש  עזרהעזרה
  הרשמההרשמה  התחברותהתחברות RSS עדכונים
תיכנות
RSS UnderWarrior Forums : RSS תיכנות
נושא

נושא: הפעלת תכנה רבת קבצים

שליחת תגובהשליחת נושא חדש
כותב
הודעה << נושא קודם | נושא הבא >>
בכר נסים
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 24 August 2008 בשעה 00:45 | IP רשוּם
ציטוט בכר נסים

כתבתי תכנית בשפת c שהתארכה עד שהמחשב לא יכל לבצע הרצה וקרס.

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

אך זה מהלך שאיני יודע לבצע.

אבקש עזרה בבניית פרוייקט כזה.

תודה מראש,

בכר נסים.

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

הצטרף / הצטרפה: 16 July 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 4637
נשלח בתאריך: 24 August 2008 בשעה 21:38 | IP רשוּם
ציטוט shoshan

WTF - המחשב קרס - לא הגיוני ...

__________________
עד מתי רשעים יעלוזו?

עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
חזרה לתחילת העמוד הצג את כרטיס החבר של shoshan חפש הודעות אחרות של shoshan בקר בדף הבית של shoshan
 
בכר נסים
משתמש מתחיל
משתמש מתחיל


הצטרף / הצטרפה: 25 August 2008
מדינה: Israel
משתמש: מנותק/ת
הודעות: 3
נשלח בתאריך: 28 August 2008 בשעה 12:45 | IP רשוּם
ציטוט בכר נסים

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

צריך לפתור את הבעיה בחלוקת הקובץ הגדול לקבצים קטנים, ליצור פרוייקט ולאחר

מכן להריץ את התכנית, דבר שאינני יודע לבצע.

אודה מאוד על עזרה בכך.

בכר נסים.

חזרה לתחילת העמוד הצג את כרטיס החבר של בכר נסים חפש הודעות אחרות של בכר נסים
 
אלצ'קו
אחראי פורומים
אחראי פורומים
סמל אישי
ג2ר פ33תי

הצטרף / הצטרפה: 20 January 2006
משתמש: מנותק/ת
הודעות: 609
נשלח בתאריך: 29 August 2008 בשעה 03:32 | IP רשוּם
ציטוט אלצ'קו

נראה לי שיש לך באג.

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

הצטרף / הצטרפה: 12 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 3296
נשלח בתאריך: 30 August 2008 בשעה 10:41 | IP רשוּם
ציטוט ניר

זה באג. אין הגיון ש-"התוכנה ארוכה מדי אז המחשב קרס"

__________________
מספר האייסיקיו שלי ו/או כתובת ה-MSN שלי אינם מהווים מוקד תמיכה
חזרה לתחילת העמוד הצג את כרטיס החבר של ניר חפש הודעות אחרות של ניר בקר בדף הבית של ניר
 
בכר נסים
משתמש מתחיל
משתמש מתחיל


הצטרף / הצטרפה: 25 August 2008
מדינה: Israel
משתמש: מנותק/ת
הודעות: 3
נשלח בתאריך: 03 September 2008 בשעה 05:00 | IP רשוּם
ציטוט בכר נסים

אלצ'קו שלום !

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

התכנית שבניתי גדולה מאוד ולא ניתן לבצע הידור.

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

אודה מאוד על עזרה בפתרון הבעיה.

תודה מראש,

בכר נסים.

חזרה לתחילת העמוד הצג את כרטיס החבר של בכר נסים חפש הודעות אחרות של בכר נסים
 
אלצ'קו
אחראי פורומים
אחראי פורומים
סמל אישי
ג2ר פ33תי

הצטרף / הצטרפה: 20 January 2006
משתמש: מנותק/ת
הודעות: 609
נשלח בתאריך: 04 September 2008 בשעה 19:41 | IP רשוּם
ציטוט אלצ'קו

ניסים שלום.

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

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

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


הצטרף / הצטרפה: 25 August 2008
מדינה: Israel
משתמש: מנותק/ת
הודעות: 3
נשלח בתאריך: 07 September 2008 בשעה 03:19 | IP רשוּם
ציטוט בכר נסים

אלצ'קו שלום !

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

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

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

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

תודה מראש,

בכר נסים.

חזרה לתחילת העמוד הצג את כרטיס החבר של בכר נסים חפש הודעות אחרות של בכר נסים
 
אלצ'קו
אחראי פורומים
אחראי פורומים
סמל אישי
ג2ר פ33תי

הצטרף / הצטרפה: 20 January 2006
משתמש: מנותק/ת
הודעות: 609
נשלח בתאריך: 09 September 2008 בשעה 16:25 | IP רשוּם
ציטוט אלצ'קו

הבנתי.

מה שאתה רוצה לעשות הוא דבר כזה, לכתוב מספר קבצי C, בהם יימצא הקוד שלך, ולקמפל כל אחד מהם בנפרד. בשלב הבא, אתה תלנקג' את קבצי ה-OBJ שקיבלת בסוף הקודם לקובץ EXE אחד.

איך מפרידים?
איך שבא לך. מומלץ כמובן לחלק לקטגוריות ולשים פונקציות בעלות מכנה משותף באותו קובץ C. לדוגמה, אולי היום יש לך את הפונקציות הבאות:
קוד:
BUFFER compress_buffer(BUFFER buffer, COMPRESSION_ALGORITHM algorithm) {
    ...
}

BUFFER decompress_buffer(BUFFER buffer, COMPRESSION_ALGORITHM algorithm) {
    ...
}

BUFFER create_directory_buffer(char* path) {
    ...
}

bool dump_buffer_to_directory(BUFFER buffer, char* path) {
    ...
}

int main() {
    // do something with argc and argv
   switch (bla) {
    case x:
        create_directory_buffer();
        compress_buffer();
    case y:
        decompress_buffer();
        dump_buffer_to_directory();
    }
    return 0;
};


אתה יכול לחלק את הפונקציות לשלוש קטגוריות, לשים את הפונקציות של הכיווץ ב-compress.c, את הפונקציות של הטיפול בתיקייה ב-dir.c ואת ה-main ב-main.c. עכשיו הבעיה שנותרת לך היא שב-main לא קיימות הפונקציות compress_buffer וכו'. כדי שהקימפול של main.c יעבור, אתה תיצור קובץ h מקביל לכל קובץ c, שבו תשים רק את ההצהרות על הפונקציות. לדוגמה:
קוד:
//compress.h
BUFFER compress_buffer(BUFFER buffer, COMPRESSION_ALGORITHM algorithm);

BUFFER decompress_buffer(BUFFER buffer, COMPRESSION_ALGORITHM algorithm);

ב-main.c תעשה include לקבצי ה-h הנחוצים, ושלום על ישראל.
חזרה לתחילת העמוד הצג את כרטיס החבר של אלצ'קו חפש הודעות אחרות של אלצ'קו
 
בכר נסים
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 10 September 2008 בשעה 00:28 | IP רשוּם
ציטוט בכר נסים

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

אני לא יודע, אבל כנראה שאתה חייב לסייע לי.

סיפרתי לך על המומחה ל-c שהכרתי בעבר ואנסה לשחזר בפנך את שהיה.

בגלל אורך התכנית, כמה אלפי שורות, כאמור, המומחה הסביר לי כיצד כותבים תכניות בגודל שהמהדר לא יוכל לבצע הדור וסייע לי לפרק את התכנית הכדולה לכ-30 קבצי c ו-h וכך שבתי אליו, החילוק מצא חן בעיניו והיה תקין, העלה את כל הקבצים לקומפיילר, נכנס לאופציה project שבתפריט הראשי העליון והשתמש בתת האופציה add וכך הוסיף בכל פעם אחד מקבצי המשנה שערכתי ובסיום הפעולה, ביצע הידור וראה איזה פלא, זה עבד.

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

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

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

שוב תודה מראש,

בכר נסים.

חזרה לתחילת העמוד הצג את כרטיס החבר של בכר נסים חפש הודעות אחרות של בכר נסים בקר בדף הבית של בכר נסים
 
אלצ'קו
אחראי פורומים
אחראי פורומים
סמל אישי
ג2ר פ33תי

הצטרף / הצטרפה: 20 January 2006
משתמש: מנותק/ת
הודעות: 609
נשלח בתאריך: 10 September 2008 בשעה 01:21 | IP רשוּם
ציטוט אלצ'קו

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


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 10 September 2008 בשעה 23:18 | IP רשוּם
ציטוט בכר נסים

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

אודה לך על המשך החיפוש והפתרון של הבעיה.

בכר נסים.

חזרה לתחילת העמוד הצג את כרטיס החבר של בכר נסים חפש הודעות אחרות של בכר נסים בקר בדף הבית של בכר נסים
 
אלצ'קו
אחראי פורומים
אחראי פורומים
סמל אישי
ג2ר פ33תי

הצטרף / הצטרפה: 20 January 2006
משתמש: מנותק/ת
הודעות: 609
נשלח בתאריך: 12 September 2008 בשעה 09:36 | IP רשוּם
ציטוט אלצ'קו

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


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 14 September 2008 בשעה 02:28 | IP רשוּם
ציטוט בכר נסים

אליצ'קו !!!

כל התכנית הארוכה, מחולקת כראוי כפי שכתבתי ובזמנו המתכנת שסייע לי, ביצע את הקישור בניהם כפי שציינתי באמצעות האופציה project ובתוכה עם תת האופציה add. והתכנית סיימה הידור ויצרה קובץ exe.

לא מדובר בתכנית בעלת 2 או 3 קבצי עזר, כאמור מדובר בתכנית בעלת כ- 30 קבצי עזר, כאשר כל אחד מהם, מונה כמה מאות שורות קוד.

הבעיה והבקשה שלי היא, כיצד לבצע את פעולת הקישור בניהם באופציה project ובסיום, כיצד לבצע הידור ולקבל בסוף גם קובץ exe.

חזרה לתחילת העמוד הצג את כרטיס החבר של בכר נסים חפש הודעות אחרות של בכר נסים בקר בדף הבית של בכר נסים
 
אלצ'קו
אחראי פורומים
אחראי פורומים
סמל אישי
ג2ר פ33תי

הצטרף / הצטרפה: 20 January 2006
משתמש: מנותק/ת
הודעות: 609
נשלח בתאריך: 14 September 2008 בשעה 03:19 | IP רשוּם
ציטוט אלצ'קו

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


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 14 September 2008 בשעה 22:34 | IP רשוּם
ציטוט בכר נסים

יש לי כמעט את כל הקומפיילרים של בורלנד אבל אני אוהב להשתמש

ב- bc3 , גירסה ישנה יחסית אבל משמשת אותי היטב.

חזרה לתחילת העמוד הצג את כרטיס החבר של בכר נסים חפש הודעות אחרות של בכר נסים בקר בדף הבית של בכר נסים
 
אלצ'קו
אחראי פורומים
אחראי פורומים
סמל אישי
ג2ר פ33תי

הצטרף / הצטרפה: 20 January 2006
משתמש: מנותק/ת
הודעות: 609
נשלח בתאריך: 20 September 2008 בשעה 19:52 | IP רשוּם
ציטוט אלצ'קו

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


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 20 September 2008 בשעה 21:13 | IP רשוּם
ציטוט בכר נסים

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

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

תודה,

בכר נסים.

חזרה לתחילת העמוד הצג את כרטיס החבר של בכר נסים חפש הודעות אחרות של בכר נסים בקר בדף הבית של בכר נסים
 
אלצ'קו
אחראי פורומים
אחראי פורומים
סמל אישי
ג2ר פ33תי

הצטרף / הצטרפה: 20 January 2006
משתמש: מנותק/ת
הודעות: 609
נשלח בתאריך: 20 September 2008 בשעה 22:17 | IP רשוּם
ציטוט אלצ'קו

יש לך קומפיילר? הקומפיילר הוא קובץ EXE שמריצים?
תריץ אותו עם ‎/HELP או ‎/?‎ ותקרא איך בדיוק צריך להשתמש בו.

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

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

  שליחת תגובהשליחת נושא חדש
גרסת הדפסה גרסת הדפסה

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