递归火山软件开发平台

标题: 请教c++的封装,大佬来看看 [打印本页]

作者: quick    时间: 3 天前
标题: 请教c++的封装,大佬来看看
  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), 这个函数的 第一个参数 不知道怎么传参了,上面代码测试会崩溃 ,大佬帮忙看看


作者: glbosom    时间: 3 天前
这个 poption 变量声明是局部的吧!
作者: Xelloss0618    时间: 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>);
}

作者: quick    时间: 前天 08:54
Xelloss0618 发表于 2025-9-3 20:55
你这个ncnn_option_t本身就是指针,不需要 &

谢谢大佬指点




欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4