递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 271|回复: 3
打印 上一主题 下一主题

[视窗] 请教c++的封装,大佬来看看

[复制链接]

5

主题

14

帖子

57

积分

注册会员

Rank: 2

积分
57
跳转到指定楼层
楼主
发表于 3 天前 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
  1. /* option api */
  2. typedef struct __ncnn_option_t* ncnn_option_t;

  3. NCNN_EXPORT ncnn_option_t ncnn_option_create(void);
  4. NCNN_EXPORT void ncnn_option_destroy(ncnn_option_t opt);

  5. NCNN_EXPORT int ncnn_option_get_num_threads(const ncnn_option_t opt);
  6. NCNN_EXPORT void ncnn_option_set_num_threads(ncnn_option_t opt, int num_threads);

  7. NCNN_EXPORT int ncnn_option_get_use_local_pool_allocator(const ncnn_option_t opt);
  8. NCNN_EXPORT void ncnn_option_set_use_local_pool_allocator(ncnn_option_t opt, int use_local_pool_allocator);

  9. NCNN_EXPORT void ncnn_option_set_blob_allocator(ncnn_option_t opt, ncnn_allocator_t allocator);
  10. NCNN_EXPORT void ncnn_option_set_workspace_allocator(ncnn_option_t opt, ncnn_allocator_t allocator);

  11. NCNN_EXPORT int ncnn_option_get_use_vulkan_compute(const ncnn_option_t opt);
  12. NCNN_EXPORT void ncnn_option_set_use_vulkan_compute(ncnn_option_t opt, int use_vulkan_compute);
复制代码

<火山程序 类型 = "通常" 版本 = 1 />

# @begin
# <include>
# typedef struct __ncnn_option_t* ncnn_option_t;
# </include>
# @end


<火山程序 类型 = "通常" 版本 = 1 />

变量 p_option <公开 类型 = 变整数 @输出名 = "poption">


方法 ncnn_option_create <公开 类型 = 逻辑型 @禁止流程检查 = 真>
{
    @ ncnn_option_t poption = ncnn_option_create();
    @ return poption > 0;
}



方法 ncnn_option_set_use_vulkan_compute <公开 注释 = "会崩溃" @禁止流程检查 = 真>
参数 use_vulkan_compute <类型 = 整数>
{
    @ ncnn_option_set_use_vulkan_compute((ncnn_option_t)&poption, @<use_vulkan_compute>);
}


主要是 ncnn_option_set_use_vulkan_compute(ncnn_option_t opt, int use_vulkan_compute), 这个函数的 第一个参数 不知道怎么传参了,上面代码测试会崩溃 ,大佬帮忙看看

回复

使用道具 举报

5

主题

14

帖子

57

积分

注册会员

Rank: 2

积分
57
地板
 楼主| 发表于 前天 08:54 | 只看该作者
Xelloss0618 发表于 2025-9-3 20:55
你这个ncnn_option_t本身就是指针,不需要 &

谢谢大佬指点
回复

使用道具 举报

29

主题

2453

帖子

8746

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
8746
板凳
发表于 3 天前 | 只看该作者
你这个ncnn_option_t本身就是指针,不需要 &

<火山程序 类型 = "通常" 版本 = 1 />

变量 p_option <公开 类型 = 变整数 @输出名 = "poption">

方法 ncnn_option_create <公开 类型 = 逻辑型 @禁止流程检查 = 真>
{
    @ poption = (INT_P)ncnn_option_create();
    @ return poption > 0;
}

方法 ncnn_option_set_use_vulkan_compute <公开 注释 = "会崩溃" @禁止流程检查 = 真>
参数 use_vulkan_compute <类型 = 整数>
{
    @ ncnn_option_set_use_vulkan_compute((ncnn_option_t)poption, @<use_vulkan_compute>);
}
回复

使用道具 举报

25

主题

582

帖子

5180

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
5180
沙发
发表于 3 天前 | 只看该作者
这个 poption 变量声明是局部的吧!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2025-9-6 06:58 , Processed in 0.080862 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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