עבור לתוכן

איך מריצים קובץ COM שנכתב למערכות 32 ביט על OS עם 64 ביט?

Featured Replies

פורסם

מדובר על COM שעושה סוג של ZIP שנכתב ע"י מהנדס בחברה ופשוט לא עובד עכשיו.

איזה DOSBOX?

נערך על-ידי tmpusr

פורסם

מה הוא בדיוק עושה - אולי אני יכול לכתוב לך איזה אצווה שתעשה את זה

פורסם

הכותרת שלך מטעה. COM זה לא EXE.

COM הוא 16ביט ומסיבה זו לא עובד במערכת 64ביט.

תתקים DOSBOX - הכי פשוט.

פורסם

ניסית לשחק בcompatiblity mode תחת properties? נסה שם להפעיל מצב תאימות למערכות הפעלה קודמות, גם נסה לתת admin privileges באותו מסך. אם עדיין לא עוזר, אתה יכול לנסות גם לבטל באותו מסך את הגדרות השיפורים הגרפים.

אם לא יעזור, dosbox יעשה את העבודה.

עריכה: אם 16 ביט, כנראה רק dosbox

פורסם
  • מחבר
הכותרת שלך מטעה. COM זה לא EXE.

COM הוא 16ביט ומסיבה זו לא עובד במערכת 64ביט.

תתקים DOSBOX - הכי פשוט.

זה פתרון אחד שאני בוחן, אבל צריך לעשות MOUNT וכאלה, לא?

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

אפשר איכשהו "לעטוף" אותו כדי שיראה כמו קובץ WIN רגיל?

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

כרגע, לא יודע לומר בדיוק - משהו ישן מאוד, לא 100% מתועד ולא מצאתי את ה-SOURCE שלו בינתיים.

נערך על-ידי tmpusr

פורסם
  • מחבר
ניסית לשחק בcompatiblity mode תחת properties? נסה שם להפעיל מצב תאימות למערכות הפעלה קודמות, גם נסה לתת admin privileges באותו מסך. אם עדיין לא עוזר, אתה יכול לנסות גם לבטל באותו מסך את הגדרות השיפורים הגרפים.

אם לא יעזור, dosbox יעשה את העבודה.

עריכה: אם 16 ביט, כנראה רק dosbox

לא נותן לי לעשות לו קיצור בכלל - כנראה בגלל שזה 16 ביט...

למישהו טיפים בנושא ה-DOSBOX?

יש גרסאות ידידותיות במיוחד שלו? מה שנקרא frontend?

פורסם
זה פתרון אחד שאני בוחן, אבל צריך לעשות MOUNT וכאלה, לא?
כן, צריך לעשות MOUNT לספרייה בתור כונן. זה לא בעיה.
זה קובץ שצריך לרוץ מתוך סביבץ תוכנה גדולה יותר - לא יודע איך זה יעבוד.
את זה צריך להבין יותר. אם מדובר בסביבה שכולה סביבת DOS, אז אפשר להריץ את כולה מתוך DOSBOX. אם מדובר בסביבת WIN32, שאחד ממרכיביה הוא אותו קובץ COM, אז זה בעייתי יותר, אבל יש פתרון גם לזה. תקרא את ההמשך:
אפשר איכשהו "לעטוף" אותו כדי שיראה כמו קובץ WIN רגיל?
בהחלט ניתן. למעשה הטכניקה הזו מאוד מקובלת במשחקי DOS ישנים שהתחילו למכור בשנים האחרונות בSTEAM, GOG וכאלה - עוטפים לך את כל המשחק בDOSBOX, מגדירים בקובץ הקונפיגורציה של DOSBOX את כל ההגדרות האופטימליות ואת הפקודות שצריך להריץ (יש לו מעין AUTOEXEC), ומגדירים לו שייסגר אוטומטית כשהתוכנית מסתיימת. אפשר לשלב משהו כזה בסביבה שלך.

נערך על-ידי QttP

פורסם
  • מחבר

^

זה מה שאני צריך ככל הנראה.

רק צריך להבין איך עושים את זה בדיוק.

תודה!

נ.ב: להוריד DOSBOX או שיש לה עוד וריאנטים עדכניים ו/או נוחים יותר לשימוש?

פורסם

ליישומי DOS - זו התוכנה.

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

פורסם
  • מחבר

^

מניח שלא - פשוט מעדיף להתחיל ממקום טוב :-)

תודה.

  • 2 שבועות מאוחר יותר...
פורסם

היי תודה לכל העוזרים!

אני אתאר את הבעיה ביתר פירוט:

אני צריך להריץ קובץ אצווה שמפעיל קובץ exe. שקורא במהלך הריצה שלו לקובץ .com. פה מתחילה הבעיה:

בהרצה רגילה של האצווה מתוך ה-cmd הקובץ exe מתחיל לרוץ אך כאשר הוא קורץ לקובץ COM ישנה בעיית תאימות ומתקבלת הודעת השגיאה הבאה:

unsupported 16 bit application.

ניסיתי לעקוף את הבעיה דרך dosbox. דוס בוקס אכן מריץ את קובץ ה-COM אבל קובץ זה חסר תועלת כאשר הוא רץ בפני עצמו. הוא צריך לרוץ במסגרת ה-EXE הכללי שאיננו רץ בדוס בוקס.:huh:

שאלתי היא:

האם ישנה דרך לגרום לקובץ com לרוץ דרך dosbox ולהחזיר פלט לexe כשה-exe מופעל מתוך ה-cmd?

לחילופין אציין שיש לי גישה לקבצי המקור של exe (שפת c). כרגע הפקודה המריצה היא system(scString); כאשר scString היא כתובת קובץ ה-COM. איך עלי לערוך את שורה זו על מנת שהנ"ל ירוץ דרך דוס-בוקס.

תודה!

פורסם

לפי התיאור שלך, אני מבין שהEXE שמריץ את הCOM הוא יישום 32ביט (אחרת הוא היה רץ בDOSBOX ולא היה רץ בחלונות).

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

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

פורסם

יש בעיה במקום dosbox להשתמש ב virtualbox או פתרון וירטואלי אחר ולהריץ מערכת הפעלה 32 ביט ?

ארכיון

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

דיונים חדשים