עבור לתוכן

משהו שמפריע לי ב c++

Featured Replies

פורסם

אוקיי קודם כל שלום

אני מתכנת פרל המון שנים

וכל מי שהייתה לו הכרות בפרל יודע

שכל בעיה אתה פונה ישר ל cpan או לגוגל ומוצא את הספרייה שאתה צריך או יותר נכון המודול

אתה רוצה ליצור ממשק ויזואלי לך ל tk או win32::gui וכו'....

אבל כמתכנת c++ גם כן אני מאוד רוצה ללמוד אותה - לאחרונה נכנסתי ל c# , אבל משהו מפריע לי בשפה

אני לא מצאתי שום דרך להשתמש בסיפרייה winsock שום מדריך שבאמת מסביר

גם לא מצאתי שום מדריך שמסביר איך ליצור ממשק gui כמו שצריך כמו ש c# מסבירה

לא איכפת לי מהתחביר הפשוט של c# אני מספיק מסובך מהתחביר של פרל

לדוגמא

כשאתה מריץ חיפוש בגוגל על סוקטים ב c++ אתה מוצא סיפריות שאנשים כתבו "לפשט" את סיפריית ה winsock

אבל אי אפשר להשתמש בהם כלומר לעולם לא הצלחתי

מה שאני רוצה לאמר

איך בדיוק אני הולך לפתור את 2 הבעיות שהכי מפריעות לי בשפה האהובה עלי?

למי שלא הבין 2 הבעיות:

שימוש בסוקטים - לדוגמא async socket תוכנת צ'אט בין 2 מחשבים פרוצדורת קליינט-סרבר

שימוש בממשק ויזואלי - יצירת form עם לדוגמא richtextbox

ואני אחסוך כמה תגובות

אין לי שום טעם להשתמש בסביבת .net ולמי שלא הבין אני יודע vc++ ואני לא אוהב את השימוש בה אני אוהב לכתוב ידני

ואני משתמש ב dev c++

פורסם

בשונה מ c# לספרייה הסטנדרטית של c++ אין תמיכה ב gui, רשתות, threading (שאולי תתווסף ב C++0x) וכו'.

הפתרון היחידי הוא להשתמש בספריות חיצוניות.

יש פתרונות שהם ספציפיים לwindows. אפשרות אחת ולא פרקטית במיוחד היא להשתמש (אך ורק) ישירות ב Win32 api אבל אין שום סיבה שבעולם לעשות את זה. יש את mfc שהיא framework שלם שכולל מחלקות ליצירת ממשק, סוקטים ועוד ויכולה להיות פתרון נחמד. יש גם את WTL שהיא קוד פתוח של מיקרוסופט.

יש toolkits שהם cross platform כמו wxWidgets, QT GTK.

כמו שציינת יש המון ספריות נוספות שאנשים כתבו ואתה יכול להשתמש בהן.

פורסם
  • מחבר

כן אבל שוב

אני לא יכול להשתמש ב פריימורק מבלי להיכנס לשימוש ב clr

אני רוצה שפה native

לכן אני הבהרתי שאני לא מעוניין ב vc++

אני רוצה את ה c++ המקורית

ישנה סיפרייה windows.h

השאלה אם יש איזה ריפרנס שמלמד איך להשתמש בה

פורסם

MSDN.

מה שרלוונטי לך זה ה- Win32 Platform SDK.

פורסם

עשית סלט גדול ומבולגן.

כל הספריות שהציעו לך הן ספריות C++ שמטבע הדברים רצות native. כמו שכבר אמרו, בספריה הסטנדרטית של C++ אין תמיכה בסוקטים או ב-threading. זה המצב.

אם אתה רוצה C#, אז דווקא הספריה הסטנדרטית של C# (שנקראת BCL נדמה לי) מכילה לא מעט דברים שקשורים לתקשורת, sockets וגם HTTP. מצד שני תצטרך CLR.

Visual C++ הוא בסך הכל סביבית פיתוח ל-C++, שיכולה (אם אתה רוצה!) לקמפל Managed ++C.

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

הסברים על ה-API-ים של windows אתה יכול למצוא ב-MSDN או אם תחפש בגוגל.

פורסם

אני לא יכול להשתמש ב פריימורק מבלי להיכנס לשימוש ב clr

אני רוצה שפה native

לכן אני הבהרתי שאני לא מעוניין ב vc++

אני רוצה את ה c++ המקורית

ישנה סיפרייה windows.h

אתה מתבלבל בין מונחים.

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

אם כשאתה אומר "c++ המקורית" אתה מדבר רק על הספרייה הסטנדרטית אז כמו שאמרתי לך אין לך אפשרות כזאת. כל הספריות שציינתי הן native.

ה windows.h יאפשר לך להשתמש ישירות ב Win32 api וכמו שציינתי אין שום סיבה לעבוד רק איתו, אם כבר אז בשילוב עם mfc למשל.

ולגבי Visual C++ היא השתפרה בגירסאות האחרונות בנוגע לעמידה בתקן של c++ ולדעתי נוחה לשימוש (למרות שלדעתי ה auto complete ב 2005 די חסר תועלת ברוב המקרים ובדר"כ לא עבד לי כמו שצריך).

פורסם
  • מחבר

MSDN.

מה שרלוונטי לך זה ה- Win32 Platform SDK.

חיפשתי ולא הבנתי מה זה

אגב יש לי xp[br]פורסם בתאריך: 4.11.2007 בשעה 17:02:26


אתה מתבלבל בין מונחים.

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

אם כשאתה אומר "c++ המקורית" אתה מדבר רק על הספרייה הסטנדרטית אז כמו שאמרתי לך אין לך אפשרות כזאת. כל הספריות שציינתי הן native.

ה windows.h יאפשר לך להשתמש ישירות ב Win32 api וכמו שציינתי אין שום סיבה לעבוד רק איתו, אם כבר אז בשילוב עם mfc למשל.

ולגבי Visual C++ היא השתפרה בגירסאות האחרונות בנוגע לעמידה בתקן של c++ ולדעתי נוחה לשימוש (למרות שלדעתי ה auto complete ב 2005 די חסר תועלת ברוב המקרים ובדר"כ לא עבד לי כמו שצריך).

אוקיי

אז איך אני משתמש ב mfc מבלי להשתמש ב vc++

אני רוצה ליצור פשוט ממשק גראפי ב c++

פורסם

קודם כל אני לא מבין למה אתה כל כך מתנגד לעבוד עם Visual C++. אני לא יודע אם אפשר לעבוד עם mfc מ IDE אחר, אבל ל Visual c++ יש כלים שמיועדים במיוחד ל mfc כמו wizard-ים ועורך Dialog-ים.

פורסם
  • מחבר

למה?

כי הוא רץ ב clr

תקן אותי אם אני טועה

פורסם

אתה טועה. MFC זו ספריה native.

ה-IDE עצמו רץ ב-CLR, אבל התוכנה המקומפלת זה קוד native רגיל לחלוטין.

פורסם

MFC היא native, אבל c++

WinForms היא CLR.

פורסם
  • מחבר

תוכלו קצת לפרט מה זה שימוש ב mfc

פורסם

עם MFC, כשאתה רוצה ליצור dialog, אתה בוחר מתפריט New Dialog, מסדר את ה- controls איך שאתה רוצה, ואז כדי לטפל בו אתה יורש מ- CDialog ומממש כמה member functions שיטפלו ב- events.

בעבודה עם Win32 API אתה צריך למלא struct בכל מיני פרמטרים, לרשום WINDOWCLASS, למממש window procedure, למממש בעצמך message map, ואם אני זוכר נכון, בכלל אין לך resources ל- dialogs. בקיצור - לא כיף גדול.

פורסם
  • מחבר

אחי

אני יודע לעבוד עם mfc ב ויזואל סטודיו

אני שואל אם יש דרך אחרת

וככל שידוע לי

כל תוכנית mfc שעשיתי דרשה .net framework מותקן

אז מה נייטיב פה?

פורסם

אז כנראה יצרת בטעות אפליקציית C++/CLR במקום Native C++...

ארכיון

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

דיונים חדשים