Toàn bộ ứng dụng của tôi (khá lớn, với 20MB thực thi) được viết bằng C++ không được quản lý. Bởi vì tôi có thể thấy rõ lợi thế trong việc sử dụng mã được quản lý, tôi muốn bắt đầu giới thiệu mã được quản lý trong ứng dụng của tôi, nhưng tôi bắt đầu từ đâu?Đơn đăng ký của tôi không được quản lý. Tôi bắt đầu giới thiệu mã được quản lý ở đâu?
Tôi có thể dễ dàng bắt đầu sử dụng C++/CLI và liên kết nó với phần còn lại của đơn đăng ký của tôi không? (mặc dù cú pháp C++/CLI có vẻ khá 'kỳ lạ').
Hoặc tốt hơn là chuyển sang C#, nhưng cách tốt nhất để 'liên kết' điều này cùng với mã C++ không được quản lý của tôi là gì?
Làm cho việc biên dịch tất cả mã C++ của tôi bằng tùy chọn/clr có hợp lý không? Điều này có hiệu quả không?
Tôi có phải lo lắng về việc đầm lầy không? Điều này cung cấp cho một chi phí hoặc tôi có thể chuyển đổi giữa quản lý và không được quản lý mà không có một hình phạt hiệu suất (giống như tôi đã làm 20 năm trước khi trộn fortran và C). Hiệu năng thực sự quan trọng trong ứng dụng của tôi vì nó là một ứng dụng khoa học đôi khi xử lý nhiều Gigabyte bộ nhớ.
Hoặc nó chỉ có ý nghĩa để thiết kế lại giao diện người dùng, và chỉ viết điều này trong C# và giữ phần còn lại của ứng dụng của tôi (logic tính toán, logic nghiệp vụ, giao diện cơ sở dữ liệu, ...) trong C++ không được quản lý?
Vì ứng dụng của tôi đôi khi cần xử lý nhiều Gigabyte bộ nhớ, tôi có phiên bản 64 bit. Có dễ dàng để có mã được quản lý 64 bit không? Woudl các bộ thu rác vẫn còn hiệu quả nếu có nhiều bộ nhớ được sử dụng?
Chỉ cần nêu rõ: tôi bắt đầu từ đâu?
Patrick
Quản lý C++ không phải là cá và gà - Tôi muốn tránh nó nếu có thể. –