当前位置: 首页 > news >正文

网站备案 域名不是自己的新闻稿件代发平台

网站备案 域名不是自己的,新闻稿件代发平台,中国建筑英才网招聘网官网,wordpress rest 某类这份文档描述了:为使Chrome加载,初始化和运行Native Client模块,你需要为它实现的类和方法。无论模块是否使用PNaCl,依赖都是一样的,只取决于模块是用C还是C编写的。 介绍 Native Client模块不需要main()函数。当模块加…

这份文档描述了:为使Chrome加载,初始化和运行Native Client模块,你需要为它实现的类和方法。无论模块是否使用PNaCl,依赖都是一样的,只取决于模块是用C还是C++编写的。

Native Client模块不需要main()函数。当模块加载时,Native Client运行时调用模块中的代码来创建一个实例并且初始化模块要使用的接口。这个初始化过程取决于模块是用C还是C++编写的,并且要求你为两种情况实现特定的函数。

C API使用一个前缀约定来表示一个接口是在浏览器还是模块中实现的。PPB_开头的接口(可以读作"Pepper browser")是在浏览器中实现的,从你的模块中调用。PPP_开头的接口("Pepper plugin")是在模块中实现的,从浏览器中调用并且在模块实例的主线程中执行。

当你用C实现一个Native Client模块时必须包含这些组件:

PPP_InitializeModule函数和PPP_GetInterface函数。

实现PPP_Instance接口的代码和所有你的模块用到的其他接口。

对于每个PPP接口,你必须实现它所有的函数,创建浏览器调用接口所用的结构体,并确保PPP_GetInterface函数返回接口相应的结构体。

对于每个PPB接口,你必须定义一个指向接口的指针,并在PPP_InitializeModule中通过调用get_browser来初始化指针。

下面摘录的代码说明了这些步骤,代码演示了实现和初始化所必需的PPP_Instance接口。摘录代码同样演示了初始化三个额外的不必需的接口:PPB_Instance(Native Client模块通过它回调浏览器)和PPB_InputEvent和PPP_InputEvent。

#include <stdlib.h>
#include <string.h>
#include "ppapi/c/pp_errors.h"
#include "ppapi/c/ppp.h"
// 引入头文件.
// PPB APIs 描述了从模块到浏览器的调用.
// PPP APIs 描述了从浏览器到你的模块定义的函数的调用.
#include "ppapi/c/ppb_instance.h"
#include "ppapi/c/ppp_instance.h"
#include "ppapi/c/ppb_input_event.h"
#include "ppapi/c/ppp_input_event.h"// 为你的模块使用的每个PPB接口创建指针.
static PPB_Instance* ppb_instance_interface = NULL;
static PPB_InputEvent* ppb_input_event_interface = NULL;// 为你的模块使用的每个PPP接口定义函数.
// 这是PPP_Instance中第一个函数的存根(Stub).
static PP_Bool Instance_DidCreate(PP_Instance instance,uint32_t argc,const char* argn[],const char* argv[]) {return PP_TRUE;
}
// ... 其他API函数 ...// 定义 PPP_GetInterface.
// 这个函数要为你用到每个接口返回一个非NULL值.
// 接口名称字符串的定义在接口的头文件中.
// 浏览器调用这个函数得到你的模块实现的接口的指针.
PP_EXPORT const void* PPP_GetInterface(const char* interface_name) {// 为每个PPP接口创建结构体.// 把接口函数放入数据结构中.if (strcmp(interface_name, PPP_INSTANCE_INTERFACE) == 0) {static PPP_Instance instance_interface = {&Instance_DidCreate,// 这些函数的定义就不展示了&Instance_DidDestroy,&Instance_DidChangeView,&Instance_DidChangeFocus,&Instance_HandleDocumentLoad};return &instance_interface;}if (strcmp(interface_name, PPP_INPUT_EVENT_INTERFACE) == 0) {static PPP_InputEvent input_interface = {// 这个函数的定义就不展示了.&Instance_HandleInput,};return &input_interface;}// 没有实现的接口返回NULL.return NULL;
}// 定义PPP_InitializeModule, 模块的入口点.
// 取得将要使用的浏览器端(PPB)接口的API.
PP_EXPORT int32_t PPP_InitializeModule(PP_Module a_module_id, PPB_GetInterface get_browser) {ppb_instance_interface = (PPB_Instance*)(get_browser(PPB_INSTANCE_INTERFACE));ppb_input_event_interface = (PPB_InputEvent*)(get_browser(PPB_INPUT_EVENT_INTERFACE));return PP_OK;
}

 

转载于:https://www.cnblogs.com/fightingCat/p/4232819.html

http://www.hengruixuexiao.com/news/29961.html

相关文章:

  • 网站主页不收录凡科建站小程序
  • vue 网站做中英文切换整合营销
  • 网站充值记账凭证怎么做百度注册网站怎么弄
  • 网站开发与设计岗位职责销售管理软件
  • 潍坊网站建设公司电话南京网络推广外包
  • cargo创建个人网站口碑好的设计培训机构
  • 百度网站地图提交淘大象关键词排名查询
  • 百度快速收录在线提交工具杭州seo首页优化软件
  • 杭州网站建设服务公司郑州网络营销
  • 大作业做网站一诺网络推广公司
  • dw做网站的导航栏软文范文200字
  • 网站建设网络推广微信网站企业官方网站怎么申请
  • 做旅游网站的设计感想抖音信息流广告怎么投放
  • 网站备案信息抽查百度云搜索引擎入口
  • 什么软件做电影短视频网站百度域名收录
  • 中国自适应网站建设seo一个月工资一般多少
  • 自己做视频直播网站品牌营销策划公司排名
  • swiper做的网站网络营销的分类
  • logo设计公司前十名东莞seo搜索
  • 做网站优化排名网络营销期末考试试题及答案
  • wordpress整站密码访问网络营销渠道类型有哪些
  • 网站开发网页上传和网页发布seo怎么做排名
  • 自己做的网站显示iis7查域名注册详细信息查询
  • 电子产品配件采购网站如何推广一款app
  • 长春是几线城市2021广安seo外包
  • 网站建设包含哪些企业网站建设的基本流程
  • 桂林漓江在哪个县哪个区国内seo公司
  • 淘宝上网站建设为啥这么便宜seo需要什么技术
  • 云南网站优化建站郑州百度推广公司电话
  • 重庆cms建站系统安徽企业网站建设