問題タブ [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.
c++ - String::New: それは何ですか?
私は Java のバックグラウンドを持ち、C++ を学んでいます。次の C++ コードに遭遇しました。
私がこれまでに理解しているように、これはクラス「String」の静的メンバー関数「New」への呼び出しである必要があります。しかし、「String」を定義するヘッダー ファイル全体を検索しましたが、String クラスまたはそのスーパー クラスに「New」という名前の静的メンバーはありません。String クラスや C++ の New メンバー関数に特別な意味はありますか?
c++ - v8 を Visual C++ 2010 に埋め込む
v8 エンジンを C++ アプリケーションに埋め込もうとしています。私は Visual C++ 2010 を使用しています。次のコマンドを使用して正常にビルドしました。
そして、私は:
v8/includeディレクトリを [構成プロパティ] -> [C/C++] -> [全般] -> [追加のインクルード ディレクトリ]に追加しました
v8/v8.libファイルを [Configuration Properties] -> [Linker] -> [Input] -> [Additional Dependencies] に追加しました。
Getting Startedページから基本的な「Hello World」の例をコンパイルしようとすると、次のリンク エラーが表示されます。
これを修正する方法はありますか?
ありがとう。
c# - Google V8 のアーキテクチャを理解する
V8 のアーキテクチャを理解しているかどうかはわかりません (はい、ドキュメントを読みました)。
v8sharpラッパーを使用した C#では、たとえば次のように記述します。
このラッパーなしで、標準 C++ で同じことをどのように記述しますか?
ありがとう。
macos - V8コンパイルの問題
GoogleのJavaScriptエンジンV8でファイルをコンパイルしようとしています。V8エンジンをインストールscons
してコンパイルしました。しかし、ここに問題があります。彼らが言うように、私はV8ディレクトリにとどまりhello_world.cpp
、コードで名前が付けられたファイルを作成します。
次に、を使用してコンパイルしgcc hello_world.cpp -o libv8.a
ます。しかし、それをコンパイルすると、エラーのスキューが発生します。
V8.hが宣言されていないという理由がわかりません。私はすでにそれを構築し、そのディレクトリにいます。それを取り除くと、他のすべてのエラーがなくなると思います。助言がありますか?
.net - このポインターがどこも指していないのはなぜですか?
v8sharp プロジェクトに機能を追加しようとしていますが、いくつかの問題があります (私は C++-CLI があまり得意ではないので、v8 を誤用するのではなく、C++-CLI の能力が不足していることに問題があると確信しています)。 .)
v8value.cpp:
which はv8Handle<v8::Value>
関数を含む (この関数を呼び出すものによって常にそうなる) を取り、C# プロジェクトで使用できるように素敵な .net ラッパーを返す必要があります。
問題はここにあります v8functionwrapper.cpp:
v8functionwrapper.h:
この行から明らかです (デバッグ コード):
Console::WriteLine("IsFunction: {0}", (*this->_value)->IsFunction());
ポインター _value は無効になり、例外が発生します。ポインターが無効になるのはなぜですか? コンストラクターで引数を指していて、それが削除されるからですか? もしそうなら、どうすれば消えないポインターを取得できますか。これは .net クラスであるため、ネイティブ型を混在させることはできません。
javascript - V8 用 JavaScript 標準ライブラリ
私のアプリケーションでは、ユーザーが JavaScript を使用してプラグインを作成できるようにしています。そのためにV8を組み込みます。問題は、開発者が HTTP、Sockets、Streams、Timers、Threading、Crypotography、Unit tests などを使用できないことです。
スタック オーバーフローを検索したところ、node.js が見つかりました。問題は、実際にHTTP サーバーを作成し、プロセスを開始したり、許可したくないことを実行したりできることです。また、node.js には独自の環境 ( ./node script.js
) があり、埋め込むことはできません。また、Windows はサポートしていません。完全にクロス プラットフォームにする必要があります。これらの問題が解決できれば、それは素晴らしいことです :) しかし、私は他のフレームワークにもオープンです。
何か案は?
ありがとうございました!
javascript - XMLHttpRequestの実装はどこにありますか?
XMLHttpRequestがJavascriptでどのように機能するかについての低レベルの詳細を理解したいのですが、RhinoまたはV8コード内の実装コードを見つけることができませんでした。私はどちらのプロジェクトのコードにも精通していないので、適切な場所を探していない可能性があります。
どこかに利用可能なオープンソースの実装はありますか?
c++ - C ++を使用したクロスプラットフォームの再帰ファイルリスト?
特定のディレクトリとそのサブディレクトリ内のファイルを再帰的に一覧表示する最も効率的な方法は何ですか? 標準ライブラリを使用する必要がありますか、それともサードパーティを使用する必要がありますか?
私は v8 を JavaScript エンジンとして使用しており、あるディレクトリ (およびそのサブディレクトリ) ですべてのスクリプトを実行したいので、これが必要です。v8でそれを行う組み込みの方法があれば、素晴らしい:)
Windows、Linux、および OS X をサポートする必要があります。
ありがとう。
c++ - V8 FunctionTemplate クラス インスタンス
私は次のクラスを持っています:
JavaScript から Register メソッドにアクセスできるようにしたいと考えています。次のようにグローバル オブジェクトに追加します。
次のエラーがスローされます。
'PluginManager::Register': 関数呼び出しに引数リストがありません。「&PluginManager::Register」を使用してメンバーへのポインタを作成します
私はそれをやろうとしましたが、うまくいきません。pluginManagerInstanceの Register メソッドを呼び出したいので、正しくありません。
Register メソッドを静的またはグローバルにすることを除いて、何かアイデアはありますか?
ありがとう。
javascript - 「ドキュメント」や「ウィンドウ」を使用するPythonからJSを実行する方法
私は現在、Python内からJavaScriptを正常に実行するように取り組んでいます。PyV8パッケージを使用してJSエンジン(v8)を実装しました。ここから、プリミティブJavaScript( "1 + 2"など)を実行できます。ただし、「ドキュメント」または「ウィンドウ」への参照を使用するJavaScriptの場合、コードはエラーをスローします。私は理想的にはPythonの実装を探していますが、JavaScriptの実装は機能し、JavaScriptエンジンで実行する前にスクリプトの前に追加することもできます。
要約すると、JavaScript内から「ドキュメント」や「ウィンドウ」を使用するJavaScriptを実行するにはどうすればよいですか?