C#调用C++组件中的方法

来源:百度知道 编辑:UC知道 时间:2024/06/17 00:03:06
C#调用C++组件中的方法,其中该方法是C++中类里面的方法!!!!!

如果都是使用VS开发,很容易的。
将c++的代码编译成DLL动态连接库,然后在c#项目,设置项目属性,在“引用路径”页面添加前面dll库工程生成的dll文件的路径。

参考:http://msdn.microsoft.com/en-us/library/ms235636(VS.80).aspx
但在引用dll文件时,上面链接的描述不正确,不需在通用属性的引用页面添加引用。

(1)dll:
添加一个类,类的声明如下:注意使用__declspec(dllexport)的声明方式。
#pragma once
namespace MathFuncs
{
class MyMathFuncs
{
public:
// Returns a + b
static __declspec(dllexport) double Add(double a, double b);
// Returns a - b
static __declspec(dllexport) double Subtract(double a, double b);
// Returns a * b
static __declspec(dllexport) double Multiply(double a, double b);
// Returns a / b
// Throws DivideByZeroException if b is 0
static __declspec(dllexport) double Divide(double a, double b);
};
}

(2)
将生成的dll和Lib文件拷贝到c#应用程序所在目录。否则后面应用程序引用此DLL时,会提示:“找不到指定模块