|
|
VB.net部分
Public Sub Test2() '计算数组中有多少非零
Dim t(1000) As Integer
t(5) = 1 : t(100) = 5
Dim Count As Integer
LibUnManaged.ClassUM.test(t, Count)
End Sub
C++.net部分
namespace LibUnManaged {
#pragma unmanaged
int testUM(int* p,int len){
int count=0, i;
for (i=0;i<len;i++){
if (*p!=0) count++;
p++;
}
return count;
}
#pragma managed
public ref class ClassUM
{
// TODO: 在此处添加此类的方法。
public:
static void test(array<int>^ datas,int %outCount){
pin_ptr<int> pp = &datas[0];
outCount = testUM(pp, datas->Length);
pp=nullptr;
}
};
}
|
|