Gọi thư viện C++ ở C#


23

Tôi có nhiều thư viện được viết bằng C++. Tôi muốn gọi những thư viện này từ C#, tuy nhiên, tôi đã gặp nhiều vấn đề. Tôi muốn biết nếu có một cuốn sách hoặc hướng dẫn để cho tôi biết làm thế nào để làm điều đó.

  0

Xem http://stackoverflow.com/questions/569603/using-c-class-dll- trong ứng dụng 22 feb. 092009-02-22 12:37:13

4

Gần đây tôi đã phải quấn một số C++ mã trong .NET. Mặc dù mã C++ được đóng gói như một dll, giao diện quá không thân thiện với P/Invoke, vì vậy tôi đã quyết định viết nó trong managed C++, hoặc C++/CLI vì nó được biết đến bây giờ.

Tôi tìm thấy this tutorial rất hữu ích trên cú pháp. Nó không phải là dễ dàng như vậy trên mắt, nhưng nội dung có vẻ khá tốt.


6

Nếu bạn google "C++ C# interop", bạn sẽ tìm thấy hàng tấn thông tin về chủ đề này.

Một vài liên kết:

http://msdn.microsoft.com/en-us/magazine/cc301501.aspx
http://msdn.microsoft.com/en-us/library/ms235281(VS.80).aspx


3

Tôi là một fan hâm mộ lớn của cuốn sách C++/CLI in Action trong đó có một vài chương mẫu hữu ích trên mạng, tại địa chỉ đó.

intro on CodeProject là điểm khởi đầu tốt.

Tác giả của C++/CLI trong hành động có một số bài viết về CodeProject, cuộn xuống phần C++/CLI trên his index.

Các Wikipedia article on P/Invoke có một số lý do tại sao bạn có thể không muốn sử dụng cách tiếp cận đó, mà tôi đồng ý:

  • mất hỗ trợ gõ bởi trình biên dịch
  • thể loại dữ liệu hoặc liên kết các vấn đề như bạn phải lập bản đồ các loại bằng tay
  • cần phải ghim đối tượng thu gom rác

điểm khởi đầu tốt nhất trên MSDN là summary article.