問題タブ [swig]
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.
.net - 管理されたサブクラスを持つ管理されていない基本クラス
持つことは可能ですか?
- (管理されていない)C ++の純粋な抽象クラス(基本的にはインターフェース)
- このクラスの実装を<選択した.net言語を挿入>で管理している
- これらのマネージド実装を(アンマネージド)C++から使用します
SWIGまたはC++/ CLI接着剤を使用していますか?
c++ - PerlでSWIGからcharへのポインタを使用するにはどうすればよいですか?
SWIGを使用して、C++ プログラム用の Perl モジュールを生成しました。C++ コードに「char ポインタ」を返す関数が 1 つあります。現在、Perl で返された char ポインターを印刷または取得する方法がわかりません。
サンプル C コード:
この関数「result」を Perl で呼び出して、文字列を出力したいと考えています。
どうやってするか?
よろしく、 アナンダン
python - SWIG ラッパー ライブラリで C++ 例外を Python に伝播するにはどうすればよいですか?
独自の C++ 例外タイプを定義するカスタム C++ ライブラリの SWIG ラッパーを作成しています。ライブラリの例外の種類は、標準の例外よりも豊富で具体的です。(たとえば、1 つのクラスが解析エラーを表し、行番号のコレクションを持っています。) 例外の型を保持しながら、これらの例外を Python に伝播するにはどうすればよいですか?
perl - SWIGを使用してPerlからC++プログラムのリストテンプレートにアクセスするにはどうすればよいですか?
PerlスクリプトからC++プログラムのテンプレートリストにアクセスし、それらの値を使用したいと思います。
コード例:
私は1つの小枝で生成されたAPIを使用し、次のことを行いました。
これで、次のように出力されます。
これを使用して構造から値を取得する方法は?
重複する質問からの更新:
インターフェイスファイルに入れました
「.pm」ファイルを生成した後。このリストで利用可能なAPIを確認しました。
見つけた
私はそれらの要素を使うことができました。しかし、これらのAPIを使用してリストの個々の要素にアクセスする方法がわかりませんか?または、インターフェイスファイルに何かがありませんか?
更新しました:
タイプマップはここでリストを配列として返すことができますか?
swig - 新しい言語にバインディングを追加するにはどうすればよいですか?
したがって、.NET C#で構築された独自のスクリプト言語を作成する必要があります。図書館にとって今は何が良いのでしょうか?(SDL / OPENGLを考えてください)、Swigでラッパーを生成しますか、それとも手動で行いますか?他に選択肢はありますか?
c - CMake で SWIG バインディングを生成する
CMake を使用してビルドされた C プロジェクトの自動バインディングを生成するにはどうすればよいですか?
Python、Java、.NET、PHP、Perl、TCL、Ruby、および Octave のバインディングを自動的に生成したいと考えています。
c++ - ポインターへの参照用に SWIG タイプマップを定義するにはどうすればよいですか?
次の 2 つのメソッドを使用して C++ で記述された Publisher クラスがあります。
このクラスの Python バインディングは、SWIG を使用して生成されています。私の swig .i ファイルには次のものがあります。
これにより、Python 変数で定義されたフィールドを公開できます。
ただし、GetFieldReference メソッドを使用しようとすると、TypeError が発生します。
ptrDouble を返す double*& のタイプマップを作成する必要があると思いますが、それがどのようになるかはよくわかりません。
types - SWIG / Lua:メンバーフィールドのデータ型を決定します
SWIGは、渡されたuserdataオブジェクトのデータ型の文字列表現を取得するためのswig_type()関数を丁寧に提供します。ただし、メンバーフィールドの場合、SWIGとLuaはそれらを単純な「数値」アイテムと見なすため、データ型の名前ではなく「数値」のみを出力します。
例えば
C ++では、次のようになります。
メンバーフィールドのデータ型を判別するために使用できるバックドアルートはありますか?引数を検証するときに、get関数とset関数が数値フィールドの正しい文字列表現を持っていることがわかります。
助けてくれてありがとう!
interface-builder - ビルドシステムで SWIG を使用する
誰でも SWIG (インターフェイス ジェネレーター) を使用した経験がありますか?
Python、Java、.NET、Perl、PHP、Ruby など、他の多くの言語/フレームワークに公開したい C プロジェクトがあります。
ビルド システム (CMake ベース) と統合したいのですが、これを達成する方法は何でもかまいません。
java - Java と SDL_GetKeyState()
SDL を使用するコードを Java に変換しようとしています。私はsdljavaバインディングを使用しています。
sdljava は、C データ型と Java の間のブリッジとして SWIG を使用します。に相当するものを取得するためにSDL_GetKeyState()
、sdljava は、SWIG_SDLEvent.SDL_GetKeyState()
a と呼ばれるものを返すメソッドを提供しますSWIGTYPE_p_unsigned_char
。
もちろん、Java にはunsigned char
型がなく、コンパイラがこの SWIG 型が実際に Java に対して何を表していると考えるかはわかりません。C/C++ での の通常の使用は次のSDL_GetKeyState()
ようになります。
...ここで、SDLK_UP インデックスのような SDL キーステート値が配列に挿入されます。
ただし、次の Java コード:
「式の型は配列型でなければなりませんが、SWIGTYPE_p_unsigned_char に解決されました」というコンパイラ エラーが発生します。
私が知りたいのは、SWIG_SDLEvent.SDL_GetKeyState() を呼び出した後、返されたものを使用して個々のキーの状態を調べる方法です。