以vs2012为例
1 用c#输出dll
(1)打开vs2012
(2)文件->新建->项目->c#->类库
(3)输入代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace ClassLibrary1
{
public class Class1
{
public void ShowMessage()
{
Console.WriteLine("成功调用了dll");
Console.ReadLine();
}
public void ShowMessageBox()
{
MessageBox.Show("调用了Dll", "调用",
MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
}
public int ShowArr(double[] a,int n)
{
for (int i = 0; i <= n; i++)
{
Console.WriteLine("a[{0}]={1}\n", i, a[i]);
}
return 0;
}
}
}
(4)生成(B)->生成 ...(U)
(5)产生了一个dll文件
(6)新建一个c++项目,项目属性中 将 公共语言运行支持 选为 公共运行时支持(/clr)
(7)VC++目录中 将dll文件所在目录 添加到 可执行文件目录 包含目录 引用目录 库目录
(8)在VC++中写入代码
// ConsoleApplicationdll.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#using "ClassLibrary1.dll"
using namespace ClassLibrary1;
int _tmain(int argc, _TCHAR* argv[])
{
Class1 ^c=gcnew Class1();
cli::array<double,1>^a=gcnew cli::array<double>(5);
for(int i=0;i<5;i++){
a[i]=i+0.1;
}
int n=4;
//c->ShowMessage();
c->ShowMessageBox();
c->ShowArr(a,n);
return 0;
}