2010-07-02 188 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

相关问题