ΕΠΙΔΙΌΡΘΩΣΗ: Visual C++ 2013 δεν είναι δυνατό να εντοπίσουν υπερβάσεις ή να εκπέμπει C4789 προειδοποιήσεις

Συμπτώματα

Σύμφωνα με τη βιβλιοθήκη MSDN, όταν μεταγλωττίστε το C ή C++ πηγαίο κώδικα, χρησιμοποιώντας το πρόγραμμα μεταγλώττισης Visual C++ 2013 C/C++, Visual C++ 2013 θα πρέπει να εντοπίσει ορισμένα buffer υπέρβαση σενάρια (του μαθήματος μόνο αυτά που μπορεί να ανιχνευθεί στην χρόνος μεταγλώττισης) και εκπέμπει Προειδοποίηση C4789.

Ωστόσο, ορισμένες υπερβάσεις των buffer δεν έχουν αλιευθεί με όλες τις ρυθμίσεις βελτιστοποίησης από Visual C++ 2013, ακόμα και αν έχετε εγκαταστήσει το Visual Studio 2013 συνάθροιση 5. Χωρίς προειδοποίηση C4789 εκπέμπονται όπου η παλαιότερη έκδοση του Visual C++ 2010 με επιτυχία έχει εκπέμπεται προειδοποιητικό μήνυμα C4789.

Σημείωση Μετά την εγκατάσταση αυτής της επείγουσας επιδιόρθωσης, Visual C++ 2013 μπορεί να εντοπίσει τις υπερβάσεις των buffer και να εκπέμπει την προειδοποίηση C4789 για την έκδοση παραμέτρων δημιουργεί (σε περίπτωση που δεν χρησιμοποιείται /Od ).

Αιτία

Αυτό το ζήτημα παρουσιάζεται εξαιτίας ενός θέματος με το πρόγραμμα μεταγλώττισης Visual Studio 2013 C/C++.

Προτεινόμενη αντιμετώπιση

Πληροφορίες άμεσης επιδιόρθωσης

Το ακόλουθο αρχείο είναι διαθέσιμο για λήψη από το Κέντρο λήψης της Microsoft:
Download Άμεση λήψη του πακέτου της επείγουσας επιδιόρθωσης.

Για περισσότερες πληροφορίες σχετικά με τον τρόπο λήψης αρχείων υποστήριξης της Microsoft, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής βάσης της Microsoft:
119591 Τρόπος απόκτησης αρχείων υποστήριξης της Microsoft από ηλεκτρονικές υπηρεσίες
Η Microsoft εξέτασε αυτό το αρχείο για ιούς. Η Microsoft χρησιμοποίησε το πιο πρόσφατο λογισμικό εντοπισμού ιών που ήταν διαθέσιμο κατά την ημερομηνία που δημοσιεύτηκε το αρχείο. Το αρχείο είναι αποθηκευμένο σε διακομιστές με ενισχυμένη ασφάλεια, οι οποίοι συμβάλλουν στην αποτροπή μη εξουσιοδοτημένων αλλαγών στο αρχείο.

Προϋποθέσεις

Για να εφαρμόσετε αυτήν την επείγουσα επιδιόρθωση, πρέπει να έχετε το Visual Studio 2013 εγκατεστημένο.

Πληροφορίες μητρώου

Για να χρησιμοποιήσετε αυτό το πακέτο της επείγουσας επιδιόρθωσης, δεν χρειάζεται να κάνετε αλλαγές στο μητρώο.

Απαίτηση επανεκκίνησης

Δεν χρειάζεται να κάνετε επανεκκίνηση του υπολογιστή μετά την εφαρμογή αυτής της επείγουσας επιδιόρθωσης.

Πληροφορίες αντικατάστασης άμεσης επιδιόρθωσης

Αυτή η επείγουσα επιδιόρθωση δεν αντικαθιστά μια επείγουσα επιδιόρθωση που κυκλοφόρησε στο παρελθόν.

Εναλλακτικός τρόπος αντιμετώπισης

Για να επιλύσετε αυτό το ζήτημα, χρησιμοποιήστε το /Oi διακόπτη μεταγλωττιστή ή κωδικό ανάλυσης για να εντοπίσετε τις περισσότερες εμφανίσεις του υπερβάσεις των buffer κατά τη μεταγλώττιση.

Κατάσταση

Η Microsoft έχει επιβεβαιώσει ότι πρόκειται για ένα ζήτημα των προϊόντων της Microsoft που παρατίθενται στην ενότητα "Ισχύει για".
Ιδιότητες

Αναγνωριστικό άρθρου: 3170268 - Τελευταία αναθεώρηση: 16 Ιαν 2017 - Αναθεώρηση: 1

Σχόλια