שטות מוזרה בVS2012

nocgod

New member
שטות מוזרה בVS2012

היום בזמן שיעור C גיליתי לתדהמתי שבVS2012 מיקרוסופט החליטו לאכוף את ה warning ש scanf זו פונקציה מסוכנת וממש להפוך את זה לשגיאת קומפילציה...
יותר מזה מי שהיה רגיל לזה שתוכניות מחכות למקש בסוף ריצה (בהרצה רגילה, לא debug) כעת זה פשוט מריץ ומכבה את הקונסול.
החלטה מוזרה מאוד מבית מיקרוסופט...
 

BravoMan

Active member
תגיד תודה שזה כל מה שנפלת עליו...

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

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

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

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

בסוף מתוך ייאוש ניסיתי להתקין מחדש את ה-SDK הרלוונטי.
הפלא ופלא - פתאום הכל התקמפל ללא שגיאות.

מה שמעלה 2 שאלות:
א) מדוע התקנה ראשונה לא עבדה? הרי לא שיניתי כלום, ומישהו מפורסם אמר פעם "לבצע שוב את אותה הפעולה באותם תנאים ולצפות לתוצאה שונה זו הגדרה של אי שפיות" (או משהו כזה).

נראה שאצל MS זה נוהל תקין


ב) כ"כ קשה לממש הודעת שגיאה שממש אומרת שאין SDK מתאים, במקום סתם לכתוב "אני לא מקמפל לך את הפרוייקט, נחש למה"?

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

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