Bỏ qua để tới nội dung chính
Đăng nhập với Microsoft
Đăng nhập hoặc tạo một tài khoản.
Xin chào,
Chọn một tài khoản khác.
Bạn có nhiều tài khoản
Chọn tài khoản bạn muốn đăng nhập.

Giới thiệu

Bài viết này mô tả hotfix khắc phục sự cố sau đây trong Microsoft Visual Studio 2010.

Vấn đề 1

Bạn gặp phải hiện tượng không mong muốn khi bạn chạy ứng dụng có vòng trong mã nguồn. Sự cố này xảy ra nếu mã nguồn được biên dịch với tối ưu hóa toàn cầu (/ Og) cho phép.

Vấn đề 2

Xem xét tình huống sau:

  • Bạn có một dự án Visual C++ bao gồm tệp Atlcomcli.h.

  • Bạn chỉ định các tùy chọn biên dịch /J để xác định các_CHAR_UNSIGNEDmacro trong dự án.

  • Bạn biên dịch dự án.

Trong trường hợp này, bạn nhận được một thông báo lỗi sau:

  • lỗi C2338: CVarTypeInfo < char > không được biên dịch bằng cờ /J hoặc _CHAR_UNSIGNED kích hoạt

  • lỗi C2338: CVarTypeInfo < char * > không biên dịch bằng cờ /J hoặc _CHAR_UNSIGNED hỗ trợ

Vấn đề 3

Một sự vi phạm truy cập xảy ra khi bạn chạy ứng dụng Visual C++ được xây dựng cho x86 dựa trên phiên bản Windows. Sự cố này xảy ra khi ứng dụng có một cây biểu hiện có hai loại mảng nhập tham số.

Nguyên nhân

Nguyên nhân của vấn đề 1

Sự cố này xảy ra do một tối ưu hóa vòng lặp không đúng được thực hiện. Điều này khiến mã không chính xác.

Nguyên nhân của vấn đề 2

Sự cố này xảy ra do tĩnh khẳng định trong tập tin Atlcomcli.h được thiết lập tuỳ chọn /J và CHAR_UNSIGNED macro không chính xác.

Nguyên nhân của vấn đề 3

Sự cố này xảy ra do các đối số trong hướng dẫn nhắc nhở được trộn. Do đó, không đúng đối qua đẩy hướng dẫn.

Thông tin

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ố được mô tả trong bài viết này. Áp dụng cho các hệ thống đang gặp sự cố cụ thể này. Hotfix này có thể được kiểm tra thêm. Vì vậy, nếu bạn không bị ảnh hưởng bởi sự cố này, chúng tôi khuyến nghị bạn đợi cho tới Visual Studio 2010 có chứa hotfix này.

Để giải quyết vấn đề này ngay lập tức, 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

Bạn phải có Microsoft Visual Studio 2010 được cài đặt để áp dụng hotfix này.

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 áp dụng hotfix nếu không bị ảnh hưởng tệp đang được sử dụng.

Thông tin thay thế cập nhật nóng

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

Thông tin về tệp


Phiên bản tiếng Anh của cập nhật nóng 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 các
Múi giờ
tab trong các
Ngày và giờ
mục trong bảng đ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

C2.dll

16.0.30319.314

2,510,144

30-May-2010

20:48

x86

C2.dll

16.0.30319.314

2,588,480

30-May-2010

20:48

x86

C2.dll

16.0.30319.314

2,630,976

30-May-2010

20:48

x86

C2.dll

16.0.30319.314

2,977,600

30-May-2010

20:48

x64

C2.dll

16.0.30319.314

7,351,616

30-May-2010

20:48

IA-64

Giải pháp

Giải pháp cho vấn đề 1

Để khắc phục vấn đề này, vô hiệu hoá việc tối ưu hóa toàn cầu. Để biết thêm chi tiết về làm thế nào để vô hiệu hoá việc tối ưu hóa toàn cầu, hãy bấm vào số bài viết sau để xem bài viết trong cơ sở kiến thức Microsoft:

216181 sửa CHỮA: sai mã được tạo ra /Og tối ưu hóa

Giải pháp cho vấn đề 2

Để khắc phục vấn đề này, sử dụng sau pragma chỉ bao gồm các tập tin Atlcomcli.h.

#pragma push_macro("ATLSTATIC_ASSERT")
#undef ATLSTATIC_ASSERT

#define ATLSTATIC_ASSERT(x,y)

#include <atlcomcli.h>

#undef ATLSTATIC_ASSERT

#pragma pop_macro("ATLSTATIC_ASSERT")

Bạn cần thêm trợ giúp?

Bạn muốn xem các tùy chọn khác?

Khám phá các lợi ích của gói đăng ký, xem qua các khóa đào tạo, tìm hiểu cách bảo mật thiết bị của bạn và hơn thế nữa.

Cộng đồng giúp bạn đặt và trả lời các câu hỏi, cung cấp phản hồi và lắng nghe ý kiến từ các chuyên gia có kiến thức phong phú.

Thông tin này có hữu ích không?

Bạn hài lòng đến đâu với chất lượng dịch thuật?
Điều gì ảnh hưởng đến trải nghiệm của bạn?
Khi nhấn gửi, phản hồi của bạn sẽ được sử dụng để cải thiện các sản phẩm và dịch vụ của Microsoft. Người quản trị CNTT của bạn sẽ có thể thu thập dữ liệu này. Điều khoản về quyền riêng tư.

Cảm ơn phản hồi của bạn!

×