問題タブ [v8]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - JavaScript エンジンを iOS アプリケーションに埋め込む
誰かがJavaScriptエンジン/インタープリターをiOSに移植することに成功したのだろうか. Javascript を高レベルのスクリプト言語 (AI、ゲームプレイなど) として使用したい iPhone ゲームを書いていますが、そのためには、JS エンジンを静的ライブラリにコンパイルし、それをリンクする必要があります。 iPhone OS用の私のobjectiveCプログラム。私が検討している候補の JS エンジンがいくつかありますが、それを行うための成功例を見つけることができませんでした。
これが私がiOSに使用したいと思っていたjsエンジンです
- Google の V8 JavaScript エンジン
- mozilla の SpiderMonkey
別の方法として、Javascript コールバック インターフェイスを使用することもできUIWebView's
ますが、それには全体UIWebView
をメモリにロードする必要があり、私が聞いた経験によると、通常はパフォーマンスが遅いということです。
誰かがこれを行うのと同様の経験をしたか、そのための参照を知っているかどうかに感謝します!
[更新] Kostis が言及したように、Appleは WWDC 2013 でJavascriptCoreを導入しました
javascript - node.js を使用したガベージ コレクション
ネストされた関数の node.js パターンが v8 のガベージ コレクターでどのように機能するかについて興味がありました。ここに簡単な例があります
restof-program が長時間実行されている場合、それは str がガベージコレクションを取得しないことを意味しませんか? 私の理解では、ノードを使用すると、ネストされた関数が多くなるということです。restofprogram が外部で宣言されている場合、これはガベージコレクションを取得するため、str はスコープ内にありませんか? これは推奨される方法ですか?
編集問題を複雑にするつもりはありませんでした。それはただの不注意だったので、修正しました。
c++ - Windowsの下でv8と何をリンクするか
Visual Studio 2010 で動作する基本的な v8 プログラムを取得しようとしてきました。v8.lib と v8.dll を問題なくビルドできました。.v8.dll をデバッグ フォルダーに配置し、v8.lib を VC lib フォルダーに追加しました。
追加の依存関係のリストに v8.lib を追加しましたが、v8 コードを使用して何かをビルドしようとすると、一連の「エラー LNK2001: 未解決の外部シンボル」エラー (「エラー 13 エラー LNK2001: 未解決の外部シンボル _ imp _EncodePointer@4 C:\KHMP\Game_Cpp\KHMPCpp\KHMPCpp\MSVCRTD.lib(atonexit.obj)"
不足しているライブラリがわかりません。V8 は、追加の依存関係から削除したかのように確実にリンクされているため、エラーの数が増えます。ws2_32.lib を使用する必要があることがわかりましたが、それを追加の依存関係に含めても問題は解決しませんでした。
どのライブラリが不足している可能性があるか、または何が間違っている可能性があるかを誰かが知っていますか?
node.js - NodeJSにインストールされているv8のバージョンを確認するにはどうすればよいですか?
V8はNodeJと一緒にどのようにインストールされますか?現在のV8エンジンはどのバージョンですか?
javascript - V8 を使用した Python ライクな JS インタープリター
node.js に触発されて、V8 (場合によっては Python よりも高速) を使用するスタンドアロンの Python に似た JavaScript インタープリターを探すことにしました。github の 1 つの標準ライブラリ プロジェクト以外に解決策は見つかりませんでした。これは、V8 サンプルからの死んで貧乏人の「シェル」のようです。
私が探している機能:
- 拡張性、
- 豊富な標準ライブラリ、
- コンパイルされたバイトコードを保存する可能性
- 書きやすい、
- 優れた OOP 機能、
- マルチプラットフォーム。
質問:そのような JS インタープリターについて聞いたことがありますか?
c++ - Google V8 JavaScript エンジン - 値を null に設定するには?
V8 エンジンを使用して、値を に設定するにはどうすればよいnull
ですか? 基本的に、C++ アドオンから JavaScript に変数を返したいのですが、null
特定の条件下で変数を設定する必要があります。
php - Google V8 Javascript エンジン、Ubuntu、および PHP - ビルドして動作させる方法は?
ここでいくつかの助けをいただければ幸いです。
私は Ubuntu 10.04 を実行しています。PHP 内でV8 Javacript エンジンを使用したいと考えています。誰もこれを行うことができましたか?
それで、ソフトウェア センターから をインストールlibv8-2.0.3
しましたlibv8-dbg
。libv8-dev
それから私は試しました:
sudo pecl install v8js-0.1.2
. これは(私が思うに)これが原因で失敗しました:
と
パッケージ化された libv8 のバージョンが古すぎるためだと思いますか?
SVN ソースをチェックアウトし ( )、ビルドに使用しましたが、正常に終了したように見えますが ( )、生成されたもの (およびビルドされたファイル) をどうするかわかりません - .o しかないようですobj/release/ にビルドされたファイル)。svn co http://v8.googlecode.com/svn/trunk/ v8
scons
ranlib libv8.a; scons: done building targets.
私は立ち往生しており、何をする必要があるかについて少し混乱しています。助けてください!
android - V8 Android、コンテキストを作成すると ASSERT が発生します... CHECK(object->IsJSFunction()) が失敗しました
Android 用の V8 JavaScript エンジンを静的ライブラリ (libv8arm.a) として正常にコンパイルしました。これを Android ネイティブ C++ アプリ (ndk-r5b を使用) に静的にリンクできます。
Android では、V8 コンテキストが作成されると、このランタイム アサートを取得します ...
// V8 コンテキストを初期化します。
ローカル グローバル = ObjectTemplate::New();
context = Context::New( NULL, globals );
v8/src/objects-inl.h の 1581 行目の致命的なエラー
CHECK(object->IsJSFunction()) 失敗
V8 をアプリの MacOSX バージョンに埋め込むと、すべて正常に動作し、javascript を問題なく実行できます。私は何時間もかけてコードの差分を取り、Android 用の V8 をビルドするための gcc コマンド ライン引数を調べました。私は立ち往生しており、V8コードをバラバラにハッキングしてそれを理解することに非常に近づいています。
V8 ランタイムの初期化で Context::New() のアサートを通過するために必要なものを知っている人はいますか?
ありがとう。
更新:
CAST_ACCESSOR マクロを変更して、この問題をトラップしようとしています...
... Context::New() を呼び出す前後の値を出力します ...
私のMacOSXテストアプリでは、出力は
Androidでは、アサートを打つ前の出力は
V8コードを検索して、object->ShortPrint()が「未定義」を出力している場所を見つけたところ、これが見つかりました...
ODDBALL_TYPE が codegen によって発行されるかどうかは疑問ですが、IA32 アセンブリと ARM アセンブリでは異なります。これにより、プラットフォームごとに異なる初期化が説明される場合があります。
UPDATE2:
ついに有効なコールスタックを取得しました...
arm-eabi-c++filt
javascript - RubyとJavascriptの主なセマンティックの違いは何ですか
Javascriptエンジンの上に(ブラウザーまたはスタンドアロンのV8またはSpidermonkeyの上に)Rubyを実装する場合、RubyとJSオブジェクトモデル間の主要なインピーダンスの不一致は何でしょうか?