Vâng ... C++ .NET là loại một cái tên nhầm lẫn. Bạn có thể lập trình bằng C++ sử dụng studio trực quan .NET. Vâng đó là những gì nó được gọi là thời gian trước đây. Bây giờ một ngày folks chỉ cần gọi nó Visual Studio, với dấu chấm NET moniker. Vâng, ít nhất là màn hình giật gân không có một lớn ol. NET trong logo nữa.
Nó được loại hiểu rằng việc sử dụng Visual Studio (VS), bạn có thể lập trình bằng các ngôn ngữ được quản lý và không được quản lý (Rất nhiều sự lựa chọn có btw).
Nếu bạn muốn chương trình trong C++ sử dụng Visual Studio bạn có hai lựa chọn:
Switch hoặc có nguồn gốc C/C++. Đây là cũ (hoặc mới tôi đoán quá) C + + mà bạn đã luôn luôn được biết đến, và bạn chương trình với bộ nhớ không được quản lý.
Managed C++. Họ gọi C++/CLI này. Đó là đọc C + + trên CLI, không phải C++ chia cho CLI! Đây là C++ có từ khóa bổ sung và một vài yếu tố cú pháp bổ sung hơn so với C++ gốc. Điều này cho phép bạn sử dụng Thư viện lớp .NET Foundation và thực hiện những điều thú vị khác trong khung công tác .NET . Điều này tất nhiên sử dụng bộ thu gom rác cho bộ nhớ cho các loại được quản lý.
Cá nhân ngôn ngữ yêu thích của tôi là C#, nhưng nếu bạn cần interop giữa C++ và .NET hơn là sử dụng Managed C++. Nó rất dễ làm, và tôi nghĩ là dễ hơn những thứ P/Invoke khác.
Nếu bạn đang đi đến một số dự án, tôi sẽ đề nghị bạn làm giao diện người dùng của bạn trong C# và tận dụng tất cả những gì nó cung cấp. Sau đó, hãy tham khảo một thư viện được quản lý chế độ hỗn hợp có chứa mã C++ của bạn. Tôi nghĩ rằng sẽ dễ dàng hơn cho bạn.
Câu trả lời cho câu hỏi cuối cùng của bạn là có, bạn chắc chắn có thể sử dụng câu hỏi đó trong ứng dụng của mình.
Sau đây là cách các phụ thuộc sẽ làm việc:
[C# ứng dụng/GUI] phụ thuộc vào [++ lắp ráp C Managed] phụ thuộc vào [Native C++ Lib]
Nguồn
2012-01-03 10:22:21
Cảm ơn cho câu trả lời nhanh chóng của bạn. Nếu vậy, tôi nên sử dụng C + +/CLI trong Visual Studio để xây dựng GUI thay vì sử dụng QT hoặc wxWidgets? vì sử dụng QT hoặc wxWidgets, tôi giới thiệu một sự phụ thuộc khác của ứng dụng của tôi. Tôi cho rằng nếu tôi chỉ sử dụng C++/CLI được quản lý, tôi chỉ cần có khung .net. Ưu điểm và nhược điểm của việc sử dụng C++/CLI, QT và wxWidgets là gì? bạn có thể vui lòng giúp tôi làm rõ về chúng không? Cảm ơn trước. – olidev
@devn: Khuôn khổ .NET cũng là một phụ thuộc thậm chí còn lớn hơn cả Qt hoặc wxWidgets, vì vậy bạn sẽ cần một sự phụ thuộc trong mọi trường hợp. Lưu ý rằng Qt và wxWidgets không yêu cầu một .NET framework để làm việc. –
sử dụng wxWidgest hoặc QT có thể làm cho ứng dụng của bạn di động trên nhiều nền tảng. .NET đảm bảo rằng bạn đang cố định trên VisualStudio/Windows. Nếu bạn đã quen thuộc với .NET Framework, nó làm giảm nỗ lực so với làm việc với một khung công tác hoàn toàn mới. Mặt khác, việc sử dụng các thư viện C++ thuần túy không giới thiệu một lớp bổ sung (các lớp ref so với các lớp gốc) mà bạn phải làm chủ. Tóm lại - nó phụ thuộc vào kiến thức và trường hợp sử dụng của bạn. –