5.先把项目编译一遍,得到一个Mydll1.map文件,在这个文件里包括该dll文件成员函数的名字修饰
  因为做为初学者甚至是专家,都很难搞清楚成员函数名字修饰的规则,所以你必须要靠编译器本身来弄清楚修饰名。

  6.编辑MyDll1.def文件为如下内容:
  LIBRARY
  EXPORTS
  Add = ?Add@@YGHHH@Z
  ShuChu = ?ShuChu@@YGXXZ
  7.再次编译该项目一次。
  这样完成了一个可供VB.Net调用的Mydll1.DLL文件,把该文件拷贝进你要调用的VB.Net项目下的 inDebug 文件夹下
  8. VB.Net控制台项目的代码如下(具体功用不再详述):
Private Declare Function Add Lib "MyDll1.dll" (ByVal a As Integer, ByVal b As Integer) As Integer
Private Declare Sub ShuChu Lib "MyDll1.dll" ()
Sub Main()
Dim a1 As Integer
Dim S1 As DateTime, S2 As DateTime
Dim T1 As TimeSpan, T2 As TimeSpan
Dim i As Long = 1
Dim ulNum As Long = 50000
'============= 调用并计算函数运行时间 ===========================
S1 = Now
ShuChu()
S2 = Now
T1 = S2.Subtract(S1).Duration
'============= 用VB实现以上调用函数的相同功能 ====================
S1 = Now
While (ulNum <> 0)
Console.WriteLine("The ulNum is:" & Str(i))
ulNum -= 1
i += 1
End While
S2 = Now
T2 = S2.Subtract(S1).Duration
Console.WriteLine(T1.TotalSeconds.ToString)
Console.WriteLine(T2.TotalSeconds.ToString)
'============== 调用DLL 里的Add函数===========================
a1 = Add(21, 34)
Console.WriteLine(a1.ToString)
Console.ReadLine()
End Sub
  9.修改VB.Net项目属性/编译/目标CPU 为x86
  10.编译运行成功!
  通过这段VB.Net程序的运行结果,我们会发现:调用C++函数的运行效率其实并不如VB.Net同样功能的代码运行效率高,这是为什么呢?