从无到有构建本机客户端应用程序

问题描述:

从零开始构建本机客户端应用程序需要做些什么?我已经查看了文档,并弄了几个应用程序,但是,现在我正在开发自己的应用程序,并且我没有看到与创建本机客户端应用程序的基础有关的任何内容。从无到有构建本机客户端应用程序

根据您要使用的SDK版本,您有几个选项。

辣椒16和17:使用init_project.py或者如果你正在使用pepper_16pepper_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_glibchello_world_newlib或对于C++为hello_world_interactive)并将其用作起点。

如果要完全从头开始编写你的应用程序,首先确保SDK是编译和运行一些的例子完全正常工作,从头

写作。那么下一步就是看看您的应用需要实现的类pp::Modulepp:Instance

在HTML端,为Native Client模块编写一个EMBED元素的简单页面。然后添加JavaScript事件处理程序loadstartprogresserrorabortloadloadendmessage并有处理该事件的数据写入,例如JavaScript控制台,以便它可以告诉哪里出了问题,如果本机客户端模块没有加载。​​示例显示如何执行此操作。

接下来,创建清单文件()。从pepper_18开始,您可以使用tools/目录中的generate_nmf.py脚本。如果您想从头开始编写,这些示例提供了使用newlibglibc(目前支持的两个标准C库)的示例。分别见hello_world_newlib/hello_world_glibc/

如果您之前还没有使用过gcc系列编译器,那么查看一些示例的Makefile以查看要使用的编译器和链接器标志也是一个好主意。建议从头开始编译32位和64位。

+0

有关pepper_16和pepper_17的说明很有趣,我会详细阅读。但是,将它们删除以用于pepper_18是有趣的,它们必须有一些东西用 – chadb 2012-03-15 02:34:55

+1

init_project.py为旧的SCons构建系统生成的构建脚本替换。使用Pepper 18,构建系统被makefile取代,并且假定使用示例作为起点实际上比使用init_project.py更容易,该脚本已被删除而不是重写。 – 2012-03-15 15:53:02

最简单的方法是按照https://developers.google.com/native-client/pepper18/quick-start的快速启动文档,特别是教程中的步骤5-7(https://developers.google.com/native-client/pepper18/devguide/tutorial),这似乎是您所问的。