עבור לתוכן

כיצד מקשרים בין קובץ DLL שנוצר ב C++ לבין C#?

Featured Replies

פורסם

היכן אני יכול ללמוד את זה?

אני יצרתי קבצי DLL ב C++ וכעת אני רוצה לעשות להם GUI (פשטני ביותר) רק כדי להריץ את המחלקות שמה

איך אני עושה את זה? (כמו JNI כזה, רק ל C#)

פורסם

אתה מדבר על VC6 ? כי אז לא ניתן, אתה חייב לקמפל אותו ל VC++ 7 ..

פורסם
  • מחבר

סי שארפ

C#

יש ספריות DLL ב- C++ ואני רוצה להציג אותם ב- C#

פורסם
  • מחבר

או קי

אבל צריך לעשות איזה שינויים בהגדרות של ה visual studio?

להגדיר נתיב לספריית DLL או משו זה?

פורסם

אל תסתבך, תעשה את הדבר הבא.

בצד ימין ב solution explorer כפתור ימני על הפרוייקט שלך.

עכשיו תבחר add reference.

בתיבה שנפתחת תבחר browse.

תבחר את ה DLL שאתה רוצה.

הוא יתווסף לך בצד ימין.

עכשיו בקוד תרשום

using nameOfReference;

וזהו

פורסם
  • מחבר

עושה רושם שאתה מבין

מה הלאה?

פורסם

קבצי DLL מיועדים ל-C, ולכן הייצוג של מחלקות C++ בקבצים האלה הוא בעייתי, עקב name mangling ובעיות אחרות. התוצאה היא ש-C# לא יכול לפנות ישירות למחלקות C++.

אולם פתרון מצויין הוא לכתוב DLL נוסף ב- managed ++c אשר ישמר wrapper עבור מחלקות ה-C++ שלך.

יש לזה כמה יתרונות נחמדים:

1) זה לא מאוד קשה.

2) קומפיילר managed ++C מכיר יופי את C++ ואת כל מה שהיא עושה: ספריות רגילות, קבצי H, ירושה ו-templates.

פורסם

אחרי שעשית using אתה יכול להשתמש בזה בקוד שלך.

תרשום את שם ה namespace ואז . ה intellisense יפתח לך את רשימת הפונקציות וה DM שיש ב DLL

פורסם
  • מחבר

אנסה ואדווח כי לא ממש הבנתי את 2 התגובות האחרונות

ארכיון

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

דיונים חדשים