Bạn hiện đang ngoại tuyến, hãy chờ internet để kết nối lại

Khắc phục: Tình trạng "IF" không làm việc một cách chính xác khi bạn chạy một ứng dụng Visual C++ được phát triển trong Visual Studio 2010 SP1

QUAN TRỌNG: Bài viết này được dịch bằng phần mềm dịch máy của Microsoft chứ không phải do con người dịch. Microsoft cung cấp các bài viết do con người dịch và cả các bài viết do máy dịch để bạn có thể truy cập vào tất cả các bài viết trong Cơ sở Kiến thức của chúng tôi bằng ngôn ngữ của bạn. Tuy nhiên, bài viết do máy dịch không phải lúc nào cũng hoàn hảo. Loại bài viết này có thể chứa các sai sót về từ vựng, cú pháp hoặc ngữ pháp, giống như một người nước ngoài có thể mắc sai sót khi nói ngôn ngữ của bạn. Microsoft không chịu trách nhiệm về bất kỳ sự thiếu chính xác, sai sót hoặc thiệt hại nào do việc dịch sai nội dung hoặc do hoạt động sử dụng của khách hàng gây ra. Microsoft cũng thường xuyên cập nhật phần mềm dịch máy này.

Nhấp chuột vào đây để xem bản tiếng Anh của bài viết này: 2719783
Triệu chứng
Hãy xem xét kịch bản sau đây:
  • Bạn sử dụng Microsoft Visual Studio 2010 Service Pack 1 (SP1) để phát triển một ứng dụng Visual c + +.
  • Mã nguồn của ứng dụng đáp ứng các điều kiện sau đây:
    • Mã nguồn có chứa một tuyên bố nếu trong một vòng lặp lồng nhau.
    • Điều kiện nếu có một kiểm tra để xác định liệu một biến ký số nguyên là tiêu cực và cũng có thể kiểm tra để xác định liệu biến ký số nguyên là lớn hơn so với một số.
    • Mã số đó là ở bên ngoài các điều kiện nếu có một hàm tuyến tính có sử dụng các biến được ký.
  • Bạn biên dịch ứng dụng bằng cách sử dụng Visual Studio 2010 hoặc dấu kiểm nhắc lệnh.

    Lưu ý Bạn biên dịch ứng dụng, trong khi một tùy chọn biên dịch được kích hoạt.
  • Bạn chạy các ứng dụng.
Trong trường hợp này, các báo cáo nếu không làm việc một cách chính xác.
Giải pháp

Thông tin hotfix

Một hotfix được hỗ trợ là bây giờ có sẵn từ Microsoft. Tuy nhiên, nó là nhằm khắc phục chỉ sự cố được mô tả trong bài viết này. Nó chỉ áp dụng cho hệ thống đang gặp vấn đề cụ thể này. Hotfix này có thể nhận được thử nghiệm bổ sung. Vì vậy, nếu bạn không bị ảnh hưởng bởi vấn đề này, chúng tôi đề nghị bạn đợi cho Cập nhật phần mềm tiếp theo có chứa hotfix này.

Để giải quyết vấn đề này ngay lập tức, liên hệ với bản ghi dịch vụ hỗ trợ khách hàng Microsoft để có được các hotfix. Để hoàn thành danh sách các bản ghi dịch vụ hỗ trợ Microsoft khách hàng số điện thoại và thông tin về chi phí hỗ trợ, ghé thăm website sau của Microsoft:Lưu ý Trong trường hợp đặc biệt, chi phí mà thường phải gánh chịu cho các cuộc gọi hỗ trợ có thể được hủy bỏ nếu chuyên viên hỗ trợ Microsoft xác định rằng một Cập Nhật cụ thể sẽ giải quyết vấn đề của bạn. Các chi phí hỗ trợ thông thường sẽ áp dụng để hỗ trợ thêm câu hỏi và vấn đề mà không đủ điều kiện cho Cập Nhật cụ thể trong câu hỏi.

Điều kiện tiên quyết

Để áp dụng hotfix này, bạn phải có Visual Studio 2010 SP1 được cài đặt chuyên biệt.

Khởi động lại yêu cầu

Bạn không cần phải khởi động lại máy tính sau khi bạn cài đặt chuyên biệt các hotfix nếu các tập tin bị ảnh hưởng đang không được sử dụng trong quá trình cài đặt chuyên biệt. Chúng tôi khuyên bạn đóng tất cả các thành phần liên quan đến Visual Studio 2010 trước khi cài đặt chuyên biệt các hotfix.

Thông tin thay thế hotfix

Hotfix này không thay thế bất kỳ hotfix nào khác.

Chi tieát taäp tin

Các phiên bản tiếng Anh của hotfix này có các thuộc tính tệp (hoặc sau này tập tin thuộc tính) mà được liệt kê trong bảng sau. Ngày tháng và thời gian cho những tập tin được liệt kê trong Giờ Quốc tế Phối hợp (UTC). Khi bạn xem chi tieát taäp tin, nó bị chuyển thành giờ cục bộ. Để tìm sự khác nhau giữa UTC và local time, sử dụng các múi thời gian thẻ tab trong các Ngày và thời gian mục trong Panel điều khiển.
Cho tất cả các phiên bản được hỗ trợ trong Visual Studio 2010
tập đã đặt tên tinPhiên bản tệpKích thước tập tinNgàyThời gianNền tảng
C2.dll16.0.40219.4042,608,19213 Tháng 12 năm 201207: 24x 86
C2.dll16.0.40219.4042,494,52813 Tháng 12 năm 201204: 57x 86
C2.dll16.0.40219.4042,593,34413 Tháng 12 năm 201204: 57x 86
C2.dll16.0.40219.4042,962,49613 Tháng 12 năm 201204: 57x 64
Tình trạng
Microsoft đã xác nhận rằng đây là một vấn đề trong sản phẩm của Microsoft được liệt kê trong phần "Áp dụng cho".
Thông tin thêm
Để biết thêm chi tiết về Visual C++ /O tuỳ chọn, hãy vào web site MSDN sau đây:Để tái tạo các vấn đề này, hãy chạy một ứng dụng C++ sử dụng đoạn mã sau:
#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;}
Sau khi bạn chạy các ứng dụng, bạn nhận được kết quả sau:
-3
-2
-1
0
1
2
3
4
5
6
7
8
Tuy nhiên, bạn mong đợi kết quả sau trong tình huống này:
0
1
2
3
4
5
6
7
8

Cảnh báo: Bài viết này được dịch tự động

Thuộc tính

ID Bài viết: 2719783 - Xem lại Lần cuối: 01/08/2013 08:52:00 - Bản sửa đổi: 3.0

Microsoft Visual Studio 2010 Service Pack 1

  • kbqfe kbfix kbexpertiseadvanced kbhotfixserver kbsurveynew kbmt KB2719783 KbMtvi
Phản hồi