【发布时间】: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