从无到有构建本机客户端应用程序
从零开始构建本机客户端应用程序需要做些什么?我已经查看了文档,并弄了几个应用程序,但是,现在我正在开发自己的应用程序,并且我没有看到与创建本机客户端应用程序的基础有关的任何内容。从无到有构建本机客户端应用程序
根据您要使用的SDK版本,您有几个选项。
辣椒16和17:使用init_project.py或者如果你正在使用pepper_16
或pepper_17
用一个例子作为起点
,你会发现在SDK中project_templates
Python脚本init_project.py
。它会建立一个完整的文件集(.cc,.html,.nmf),并带有注释表明您需要添加代码的位置。运行python init_project.py -h
以查看它接受的选项。其他文档可在https://developers.google.com/native-client/pepper17/devguide/tutorial找到。
辣椒18和较新的:如果使用pepper_18
或更新使用一个例子作为起始点
,init_project.py
不再包含。相反,您可以复制examples
目录中的一个非常小的示例(例如,对于C为hello_world_glibc
或hello_world_newlib
或对于C++为hello_world_interactive
)并将其用作起点。
如果要完全从头开始编写你的应用程序,首先确保SDK是编译和运行一些的例子完全正常工作,从头
写作。那么下一步就是看看您的应用需要实现的类pp::Module和pp:Instance。
在HTML端,为Native Client模块编写一个EMBED
元素的简单页面。然后添加JavaScript事件处理程序loadstart
,progress
,error
,abort
,load
,loadend
和message
并有处理该事件的数据写入,例如JavaScript控制台,以便它可以告诉哪里出了问题,如果本机客户端模块没有加载。示例显示如何执行此操作。
接下来,创建清单文件()。从pepper_18
开始,您可以使用tools/
目录中的generate_nmf.py
脚本。如果您想从头开始编写,这些示例提供了使用newlib
和glibc
(目前支持的两个标准C库)的示例。分别见hello_world_newlib/
和hello_world_glibc/
。
如果您之前还没有使用过gcc系列编译器,那么查看一些示例的Makefile以查看要使用的编译器和链接器标志也是一个好主意。建议从头开始编译32位和64位。
最简单的方法是按照https://developers.google.com/native-client/pepper18/quick-start的快速启动文档,特别是教程中的步骤5-7(https://developers.google.com/native-client/pepper18/devguide/tutorial),这似乎是您所问的。
有关pepper_16和pepper_17的说明很有趣,我会详细阅读。但是,将它们删除以用于pepper_18是有趣的,它们必须有一些东西用 – chadb 2012-03-15 02:34:55
init_project.py为旧的SCons构建系统生成的构建脚本替换。使用Pepper 18,构建系统被makefile取代,并且假定使用示例作为起点实际上比使用init_project.py更容易,该脚本已被删除而不是重写。 – 2012-03-15 15:53:02