本サイトでは、アフィリエイト広告およびGoogleアドセンスを利用しています。

JavaScriptをC++からのスクリプトとして使う

前回にV8エンジンのライブラリビルドまで終わっているとして、今回はそのライブラリを用いて自分のC++プログラムからJavaScriptを実行させている風にします。

VisualStudio 2010を開いて、コンソールアプリケーションを1つ準備します。
そして、V8エンジンをビルドしてある場所を設定しておきます。

  • 追加のインクルードディレクトリ: testV8/v8/include
  • 追加のライブラリディレクトリ: testV8/v8/build/Debug(もしくはRelease)/lib

また、プロジェクトのコード生成は”マルチスレッドデバッグ(/MD)”や”マルチスレッド(/MT)”を設定しておきます。ここはV8エンジンのビルドで設定されているものに合わせておくことが必要です。

そして、下記のような簡単なプログラムを入力してビルドしてみます。
(基本的には https://developers.google.com/v8/get_startedにあるHello Worldのプログラムです)

[cpp]
#include
#include
#include “v8.h”

#pragma comment(lib, “v8_base.lib” )
#pragma comment(lib, “v8_nosnapshot.lib” )
#pragma comment(lib, “ws2_32.lib” )
#pragma comment(lib, “winmm.lib” )

int main( int argc, TCHAR* argv[] ) {
using namespace v8;
HandleScope handleScope;

// コンテキストを作ります。
Persistent context = Context::New();

// これからの実行用にコンテキストスコープを用意します。
Context::Scope context_scope(context);

// JavaScriptソースコードを含む文字列を作ります。
Handle source = String::New( “‘Hello’ + ‘, World'” );

// ソースコードをコンパイルします。
Handle

シェアする
すらりんをフォローする
すらりん日記
タイトルとURLをコピーしました