C++/cli là phiên bản hiện tại của công cụ Visual C++ của Microsoft. (Có một thiết kế khác trước C++/cli)
C++/cli thực sự là hai phiên bản của C++ trong một. Có một trình biên dịch C++ tiêu chuẩn hóa cao và cũng là một phiên bản của C++ chạy trên máy ảo CLI. Rõ ràng là tiêu chuẩn C++ không bao giờ chạy trên máy ảo để xác định hai phương pháp tiếp cận ngôn ngữ.
Khi sử dụng, bạn có thể kết hợp mã không người lớn và mã được quản lý với nhau. "Không được quản lý" là mã được biên dịch giống như tiêu chuẩn C++. "Managed" là trình biên dịch mã cho mã byte bytecode của CLI (.Net). Microsoft có các API mở rộng cho cả mã được quản lý và không được quản lý. Với sản phẩm bạn có thể truy cập cả hai API.
Bạn có thể phát triển các ứng dụng chuẩn C++ bằng ngôn ngữ và công cụ, bạn chỉ cần cẩn thận không sử dụng các tiện ích mở rộng không chuẩn. Tôi đề nghị biên dịch trong trình biên dịch khác một lần trong một thời gian nếu bạn đang nghi ngờ. Phía được quản lý hoàn toàn không đạt tiêu chuẩn và thậm chí cả bên không được quản lý đều có các phần mở rộng không chuẩn.
PS Tôi không có chuyên môn nhưng tôi đã tò mò và đọc về điều này tuần trước. Tôi nghĩ câu hỏi của bạn xứng đáng là một câu trả lời. Chúc may mắn!
Nguồn
2011-10-11 02:59:01
Vì vậy, nếu tôi chỉ muốn sử dụng tiêu chuẩn C++, mẫu và tăng tôi sẽ không cần CLR? Tại sao tôi cần sử dụng CLR, nếu tôi muốn sử dụng các thư viện .NET? Cảm ơn – Jean
Bạn sẽ sử dụng CLR bất cứ khi nào bạn lên kế hoạch gọi cho các thư viện .NET, hoặc nếu bạn muốn mã của bạn hoạt động tốt với mã .NET đang gọi nó. Nếu mong muốn của bạn là chỉ cần viết đồng bằng C++, thậm chí không bận tâm với C++/CLI. Cả hai đều có tên miền dự định của họ, nhưng nếu bạn đang viết C++ tinh khiết thì không cần CLR. –
"* Cũng đôi khi C++/CLR *" Không - tên của ngôn ngữ là C++/CLI; nếu nó được gọi là C++/CLR, đó là một sai lầm của một người không biết gì tốt hơn. – ildjarn