游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1636|回复: 0

VB.net通过C++/CLI调用非托管代码

[复制链接]

15

主题

2093

帖子

2093

积分

金牌会员

Rank: 6Rank: 6

积分
2093
发表于 2007-8-17 21:37:00 | 显示全部楼层 |阅读模式
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;
            }
    };
}
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-25 10:32

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表