2010-07-02 186 views

回答

2

如果您的C++項目是本機(標準C++)項目,那麼沒有。如果它是託管項目,則可以添加對其的引用。

對於本地代碼,您需要使用P/Invoke來訪問C++ DLL中的函數。

6

您不能直接引用本機DLL。你只有在爲CLI編譯它(針對.NET CLR)或者構建了一個COM組件(在這種情況下VS自動生成一個interop DLL)。否則,沒有辦法,你將不得不寫一個包裝DLL。

0

看一看this的網頁。這是一篇關於C,C++,C#和Lisp代碼與簡短例子混合的非常好的文章。不幸的是,當你使用託管C++時,大多數C++ - > C#都是可能的。 短示例(from earlier mentioned webpage)其示出了如何調用C++從C#管理加法器類:

using System; 
using System.Collections.Generic; 
using System.Text; 

namespace Dllcaller 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      Adder a = new Adder(); 
      Console.WriteLine(a.add(1, 7)); 
      while (true) ; 
     } 
    } 
} 
+0

[鏈接已經改變(http://www.vdanet.be/pmwiki/pmwiki.php?n=Main .Mixing) – Jens876 2013-03-14 07:10:13

+0

鏈接已更新。 – 2016-05-31 11:16:17

相關問題