2012-03-15 38 views
3

從零開始構建本機客戶端應用程序需要做些什麼?我已經查看了文檔,並弄了幾個應用程序,但是,現在我正在開發自己的應用程序,並且我沒有看到與創建本機客戶端應用程序的基礎有關的任何內容。從無到有構建本機客戶端應用程序

回答

7

根據您要使用的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

相關問題