Triệu chứng
Xem xét tình huống sau:
-
Bạn phát triển ứng dụng Microsoft Visual C++ 2010 sử dụng chút trường thành viên của struct trong Microsoft Visual Studio 2010.
-
Bạn bật tuỳ chọn trình tối ưu hoá cho các ứng dụng, và sau đó bạn xây dựng các ứng dụng.
-
Bạn chạy ứng dụng.
Trong trường hợp này, mã máy không chính xác có thể được tạo cho các thao tác viên trường bit trong struct.
Giải pháp
Thông tin về cập nhật nóng
Microsoft hiện đã cung cấp bản cập nhật nóng được hỗ trợ. Tuy nhiên, nó là nhằm khắc phục chỉ sự cố mà bài viết này mô tả. Áp dụng cho các hệ thống đang gặp sự cố cụ thể này.
Để khắc phục sự cố này, hãy liên hệ với dịch vụ hỗ trợ khách hàng Microsoft để lấy hotfix. Để biết danh sách đầy đủ số điện thoại Dịch vụ hỗ trợ khách hàng của Microsoft và thông tin về chi phí hỗ trợ, ghé thăm website sau của Microsoft:
http://support.microsoft.com/contactus/?ws=supportLưu ý Trong trường hợp đặc biệt, chi phí thường phát sinh cho cuộc gọi hỗ trợ có thể bị 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. Chi phí hỗ trợ thông thường sẽ áp dụng cho các vấn đề không phù hợp với bản Cập Nhật cụ thể trong câu hỏi và câu hỏi hỗ trợ bổ sung.
Điều kiện tiên quyết
Để áp dụng hotfix này, bạn phải có Microsoft Visual Studio 2010 SP1 được cài đặt.
Yêu cầu khởi động lại
Bạn không phải khởi động lại máy tính sau khi bạn cài đặt hotfix nếu tệp bị ảnh hưởng không được dùng khi cài đặ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 hotfix.
Phiên bản toàn cầu của hotfix này có các thuộc tính tệp (hoặc thuộc tính tệp mới hơn) được liệt kê trong bảng sau. Ngày và giờ của các tệp này được liệt kê theo Giờ Quốc tế Phối hợp (UTC). Khi bạn xem thông tin về tệp, ngày và giờ được chuyển đổi thành giờ địa phương. Để tìm sự khác nhau giữa UTC và giờ địa phương, sử dụng tab Múi Giờ trong mục Ngày và Giờ trong Pa-nen điều khiển.
Tên tệp |
Phiên bản tệp |
Kích thước tệp |
Ngày |
Giờ |
Nền tảng |
Đường dẫn |
---|---|---|---|---|---|---|
C2.dll |
16.0.40219.449 |
2,606,728 |
18-Apr-2013 |
18:09 |
x86 |
Microsoft Visual Studio 10.0\VC\bin |
C2.dll |
16.0.40219.449 |
2,493,576 |
19-Apr-2013 |
21:19 |
x86 |
Microsoft Visual Studio 10.0\VC\bin\x86_amd64 |
C2.dll |
16.0.40219.449 |
2,593,928 |
19-Apr-2013 |
21:19 |
x86 |
Microsoft Visual Studio 10.0\VC\bin\x86_ia64 |
C2.dll |
16.0.40219.449 |
2,960,008 |
19-Apr-2013 |
21:19 |
x64 |
Microsoft Visual Studio 10.0\VC\bin\amd64 |
Trạng thái
Microsoft đã xác nhận rằng đây là sự cố trong sản phẩm của Microsoft được liệt kê trong phần "Áp dụng cho".
Giải pháp
Để khắc phục sự cố này, hãy sử dụng một trong các phương pháp sau:
-
Sử dụng /Od tối ưu hóa trình biên soạn tùy chọn để tắt tối ưu hóa.
-
Sử dụng pragma tối ưu hoá để bật hoặc tắt tối ưu hóa theo chức năng.
-
Nâng cấp lên Microsoft Visual Studio 2012.
Tham khảo
Để biết thêm chi tiết về pragma tối ưu hóa , hãy truy cập trang web MSDN sau đây:
Thông tin chung về tối ưu hóa pragmaĐể biết thêm chi tiết về /O tối ưu hoá tuỳ chọn, hãy truy cập trang web MSDN sau đây: