【问题标题】:How to create and open a file system through the Chrome Pepper C API?如何通过 Chrome Pepper C API 创建和打开文件系统?
【发布时间】:2016-12-19 08:12:05
【问题描述】:

Chrome 浏览器的 Pepper C API 在这里定义:

https://developer.chrome.com/native-client/c-api

我正在尝试通过 C API 创建和打开一个文件系统,以便在使用 PNaCl 技术的 Chrome 应用程序中使用。

这是变量的简化版本:

static PP_Instance pp_instance;
static PPB_Instance * ppb_instance;

这是对 Pepper 文件系统的引用:

https://developer.chrome.com/native-client/pepper_stable/c/struct_p_p_b___file_system__1__0

我尝试了以下代码示例来初始化文件系统,但它们都给出了编译器错误。

PPB_FileSystem pepper_file_system;

通过 clang++ 编译这段代码 ...

pepper_file_system = PPB_FileSystem::Create (pp_instance, PP_FILESYSTEMTYPE_LOCALPERSISTENT);

给出这个输出:

invalid use of non-static data member 'Create'
pepper_file_system = PPB_FileSystem::Create (pp_instance, PP_FILESYSTE...

第二次尝试,编译这段代码……

pepper_file_system = PPB_FileSystem->Create (pp_instance, PP_FILESYSTEMTYPE_LOCALPERSISTENT);

给出这个输出:

error: unexpected type name 'PPB_FileSystem': expected expression
pepper_file_system = PPB_FileSystem->Create (pp_instance, PP_FILESYSTE...

第三次尝试,编译这段代码...

pepper_file_system = ppb_instance->Create (pp_instance, PP_FILESYSTEMTYPE_LOCALPERSISTENT);

给出这个输出:

error: no member named 'Create' in 'PPB_Instance_1_0'
pepper_file_system = ppb_instance->Create (pp_instance, PP_FILESYSTEMT...

我意识到这一定是一个非常初学者的问题,显然解决方案必须非常简单,只是我已经看了几个小时,并在谷歌上搜索了通过 Pepper C API 创建文件系统的示例代码,并没有找到它(有 C++ API 的示例代码)。感谢您解决这个难题的任何帮助... :)

【问题讨论】:

  • 我猜你应该这样做:PPB_FileSystem* pepper_file_system = PPBFileSystem();PP_Resource file_system = pepper_file_system->Create(pp_instance(), PP_FILESYSTEMTYPE_LOCALPERSISTENT);

标签: c++ clang++ google-nativeclient


【解决方案1】:

类似:

PPB_FileSystem * ppb_file_system = new PPB_FileSystem;
PP_Resource pp_file_system = ppb_file_system->Create (pp_instance, PP_FILESYSTEMTYPE_LOCALPERSISTENT);

应该工作

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-01-06
    • 1970-01-01
    • 2014-11-22
    • 2018-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-27
    相关资源
    最近更新 更多