在C++應用程序中使用JavaScript

當谷歌發(fā)布其Chrome瀏覽器時,該公司包括一個名為V8的JavaScript的快速實現,它是所有瀏覽器中都包含的客戶端腳本語言。早在Netscape 4.1時代,JavaScript的早期采用者就沒有這種語言,因為沒有調試工具,每個瀏覽器都有不同的實現,不同版本的Netscape瀏覽器也有所不同。這是'愉快地編寫跨瀏覽器代碼并在許多不同的瀏覽器上進行測試。

從那時起,Google Maps和Gmail使用了整個Ajax(異步JavaScript和XML)技術,JavaScript得到了重大回報。現在有體面的工具。Google's V8用C++編寫,編譯和執(zhí)行JavaScript源代碼,處理對象的內存分配,垃圾收集不再需要的對象。V8比其他瀏覽器中的JavaScript快得多,因為它編譯為本機代碼,而不是已解釋的bytecode。

JavaScript V8V8不是't僅適用于鉻。如果您的C++應用程序需要腳本才能使用戶能夠編寫在運行時執(zhí)行的代碼,那么您可以將V8嵌入到應用程序中。V8是根據自由BSD許可協議授權的開源高性能JavaScript引擎。谷歌甚至提供了一個嵌入式's指南。

這里'這是一個簡單的例子,Google用JavaScript提供經典的Hello World。它適用于希望在C++應用程序中嵌入V8的C++程序員

 int main(int argc,char*ar**[]){
//創(chuàng)建一個保存JavaScript源代碼的字符串。
string source=string::New("'Hello'+',World'");
//編譯它。
Script Script=Script::Compile(source);
//Run it。
Value result=Script->Run();
//將結果轉換為ASCII字符串并顯示它。
string::ascivalue ASCII(result);
printf(幼兒飲食健康小常識"%s \ n",*ascii);

V8作為獨立程序運行,或者可以嵌入以C++編寫的任何應用程序中。

教育資源網_1