从头开始构建Native Client应用程序需要什么?我查看了文档,并提出了几个应用程序,但是,我现在正在制作自己的应用程序,我没有看到任何与创建本机客户端应用程序的基础相关的内容。
答案 0 :(得分:7)
根据您要使用的SDK的版本,您有几个选项。
Pepper 16和17:使用init_project.py或使用示例作为起点
如果您使用的是pepper_16
或pepper_17
,则会在SDK的init_project.py
中找到Python脚本project_templates
。它将设置一整套文件(.cc,.html,.nmf),其中包含指示您需要添加代码的位置的注释。运行python init_project.py -h
以查看它接受的选项。可以在https://developers.google.com/native-client/pepper17/devguide/tutorial找到其他文档。
Pepper 18 and newer:使用示例作为起点
如果您使用pepper_18
或更新版本,则不再包含init_project.py
。相反,您可以从examples
目录中复制一个非常小的示例(例如,hello_world_glibc
或hello_world_newlib
表示C或hello_world_interactive
表示C ++)并将其作为起点。< / p>
从头开始写作
如果您想从头开始编写应用程序,请首先通过编译和运行一些示例来确保SDK正在运行。然后,下一步是查看您的应用需要实现的类pp::Module和pp:Instance。
在HTML端,编写一个包含Native Client模块的EMBED
元素的简单页面。然后为loadstart
,progress
,error
,abort
,load
,loadend
和message
添加JavaScript事件处理程序,让处理程序将事件数据写入例如JavaScript控制台,以便在Native Client模块没有加载时可以告诉出错的地方。 load_progress
示例显示了如何执行此操作。
接下来,创建清单文件(.nmf
)。从pepper_18
开始,您可以使用generate_nmf.py
目录中的tools/
脚本。如果您想从头开始编写,示例提供了使用newlib
和glibc
(目前支持的两个标准C库)的示例。分别参见hello_world_newlib/
和hello_world_glibc/
。
如果您以前没有使用过gcc-family编译器,那么查看一些示例的Makefile也是一个好主意,以查看要使用的编译器和链接器标志。建议从头开始编译32位和64位。
答案 1 :(得分:0)
最简单的方法是按照https://developers.google.com/native-client/pepper18/quick-start上的快速入门文档,特别是教程中的步骤5-7(https://developers.google.com/native-client/pepper18/devguide/tutorial),这似乎是您所要求的。