ΕΠΙΔΙΌΡΘΩΣΗ: "ΕΆΝ" συνθήκη δεν λειτουργεί σωστά όταν εκτελείτε μια εφαρμογή Visual C++ που αναπτύσσεται στο Visual Studio 2010 SP1

Μεταφράσεις άρθρων Μεταφράσεις άρθρων
Αναγν. άρθρου: 2719783 - Δείτε τα προϊόντα στα οποία αναφέρεται το συγκεκριμένο άρθρο.
Ανάπτυξη όλων | Σύμπτυξη όλων

Σε αυτήν τη σελίδα

Συμπτώματα

Εξετάστε το ακόλουθο σενάριο:
  • Χρησιμοποιείτε το Microsoft Visual Studio 2010 Service Pack 1 (SP1) για να αναπτύξετε μια εφαρμογή Visual C++.
  • Τον πηγαίο κώδικα της εφαρμογής πληροί τις ακόλουθες προϋποθέσεις:
    • Ο κώδικας προέλευσης περιέχει δήλωση IF σε ένα ένθετο βρόχο.
    • Η συνθήκη IF περιέχει ένα σημάδι ελέγχου που προσδιορίζει αν μια μεταβλητή ακέραιος με πρόσημο είναι αρνητικό και επίσης ένα σημάδι ελέγχου που καθορίζει αν η μεταβλητή ακέραιος με πρόσημο είναι μεγαλύτερο από έναν άλλο αριθμό.
    • Ο κώδικας που βρίσκεται έξω από τη συνθήκη IF έχει μια γραμμική συνάρτηση η οποία χρησιμοποιεί τη μεταβλητή με υπογραφή.
  • Μεταγλώττιση της εφαρμογής χρησιμοποιώντας την Visual Studio 2010 ή τη γραμμή εντολών.

    Σημείωση Μεταγλώττιση της εφαρμογής, ενώ είναι ενεργοποιημένη μια επιλογή μεταγλώττισης.
  • Μπορείτε να εκτελέσετε την εφαρμογή.
Σε αυτό το σενάριο, η εντολή δεν λειτουργεί σωστά.

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

Πληροφορίες επείγουσας επιδιόρθωσης

Μια υποστηριζόμενη επείγουσα επιδιόρθωση είναι τώρα διαθέσιμη από τη Microsoft. Ωστόσο, προορίζεται για τη διόρθωση μόνο του ζητήματος που περιγράφεται σε αυτό το άρθρο. Eφαρμόστε τη μόνο σε συστήματα που αντιμετωπίζουν το συγκεκριμένο ζήτημα. Αυτή η επείγουσα επιδιόρθωση ενδέχεται να υποβληθεί σε πρόσθετο έλεγχο. Επομένως, εάν αυτό το ζήτημα δεν σας επηρεάζει ιδιαίτερα, σας συνιστούμε να περιμένετε έως την επόμενη ενημερωμένη έκδοση λογισμικού που περιέχει αυτήν την επείγουσα επιδιόρθωση.

Για να επιλύσετε αμέσως αυτό το ζήτημα, επικοινωνήστε με υπηρεσίες υποστήριξης πελατών της Microsoft για να αποκτήσετε την επείγουσα επιδιόρθωση. Για μια πλήρη λίστα αριθμών τηλεφώνου υπηρεσίες υποστήριξης πελατών της Microsoft και πληροφορίες σχετικά με το κόστος υποστήριξης, επισκεφθείτε την ακόλουθη τοποθεσία της Microsoft στο Web:
http://support.Microsoft.com/contactus/?ws=support
Σημείωση Σε ειδικές περιπτώσεις, χρεώσεις που υφίστανται κανονικά για κλήσεις υποστήριξης μπορεί να ακυρωθεί εάν ένας μηχανικός υποστήριξης της Microsoft κρίνει ότι μια συγκεκριμένη ενημερωμένη έκδοση θα επιλύσει το ζήτημα. Για πρόσθετες ερωτήσεις υποστήριξης και για θέματα που δεν αφορούν τη συγκεκριμένη ενημερωμένη έκδοση, θα ισχύσουν οι συνηθισμένες χρεώσεις υποστήριξης.

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

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

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

Δεν χρειάζεται να κάνετε επανεκκίνηση του υπολογιστή μετά την εγκατάσταση της επείγουσας επιδιόρθωσης, εάν τα ενεχόμενα αρχεία δεν χρησιμοποιούνται κατά τη διαδικασία εγκατάστασης. Συνιστάται να κλείσετε όλα τα στοιχεία που σχετίζονται με το Visual Studio 2010 πριν να εγκαταστήσετε την επείγουσα επιδιόρθωση.

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

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

Πληροφορίες αρχείου

Η αγγλική έκδοση αυτής της επείγουσας επιδιόρθωσης έχει τα χαρακτηριστικά αρχείου (ή νεότερα χαρακτηριστικά αρχείου) που παρατίθενται στον παρακάτω πίνακα. Οι ημερομηνίες και οι ώρες για τα αρχεία αυτά αναφέρονται σε συντονισμένη παγκόσμια ώρα (UTC). Όταν προβάλλετε τις πληροφορίες του αρχείου, τότε μετατρέπεται σε τοπική ώρα. Για να βρείτε τη διαφορά μεταξύ της ώρας UTC και της τοπικής ώρας, χρησιμοποιήστε την Ζώνη ώρας στο το Ημερομηνία και ώρα το στοιχείο του πίνακα ελέγχου.
Για όλες τις υποστηριζόμενες εκδόσεις του Visual Studio 2010
Σύμπτυξη αυτού του πίνακαΑνάπτυξη αυτού του πίνακα
Όνομα αρχείουΈκδοση του αρχείουΜέγεθος αρχείουΗμερομηνίαΏραΠλατφόρμα
C2.dll16.0.40219.4042,608,19213-Dec-201207: 24x 86
C2.dll16.0.40219.4042,494,52813-Dec-201204: 57x 86
C2.dll16.0.40219.4042,593,34413-Dec-201204: 57x 86
C2.dll16.0.40219.4042,962,49613-Dec-201204: 57x 64

Κατάσταση

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

Περισσότερες πληροφορίες

Για περισσότερες πληροφορίες σχετικά με τις επιλογές του Visual C++ /O , μεταβείτε στην ακόλουθη τοποθεσία Web MSDN:Για να αναπαραγάγετε αυτό το ζήτημα, εκτελέστε μια εφαρμογή C++ που χρησιμοποιεί τον ακόλουθο κώδικα:
#include "stdafx.h"
 
int main()
{
        for( int i = -1; i <= 3; i++ ) 
        {
               for( int j = -1; j <= 3; j++ ) 
               {
                      if (i >= 0 && i < 3 && j >= 0 && j < 3)
                      {
                            printf("%d\n", i * 3 + j);
                      }
               }
        }
        return 0;
}
Μετά την εκτέλεση της εφαρμογής, λαμβάνετε το εξής αποτέλεσμα:
-3
-2
-1
0
1
2
3
4
5
6
7
8
Ωστόσο, εσείς περιμένετε τα ακόλουθα αποτελέσματα σε αυτήν την περίπτωση:
0
1
2
3
4
5
6
7
8

Ιδιότητες

Αναγν. άρθρου: 2719783 - Τελευταία αναθεώρηση: Τρίτη, 8 Ιανουαρίου 2013 - Αναθεώρηση: 3.0
Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
  • Microsoft Visual Studio 2010 Service Pack 1 στις ακόλουθες πλατφόρμες
    • Microsoft Visual Studio 2010 Ultimate
    • Microsoft Visual Studio 2010 Professional
Λέξεις-κλειδιά: 
kbqfe kbfix kbexpertiseadvanced kbhotfixserver kbsurveynew kbmt KB2719783 KbMtel
Μηχανικά μεταφρασμένο
ΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο είναι προϊόν λογισμικού μηχανικής μετάφρασης της Microsoft και όχι ανθρώπινης μετάφρασης. Η Microsoft σάς προσφέρει άρθρα που είναι προϊόντα ανθρώπινης αλλά και μηχανικής μετάφρασης έτσι ώστε να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής Βάσης μας στη δική σας γλώσσα. Ωστόσο, ένα άρθρο που έχει προκύψει από μηχανική μετάφραση δεν είναι πάντα άριστης ποιότητας. Ενδέχεται να περιέχει λεξιλογικά, συντακτικά ή γραμματικά λάθη, όπως ακριβώς τα λάθη που θα έκανε ένας μη φυσικός ομιλητής επιχειρώντας να μιλήσει τη γλώσσα σας. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες της. Επίσης, η Microsoft πραγματοποιεί συχνά ενημερώσεις στο λογισμικό μηχανικής μετάφρασης.
Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη: 2719783

Αποστολή σχολίων

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com