問題タブ [xs]

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.

0 投票する
2 に答える
976 参照

perl - XS で Perl ハッシュを返す (エラー: typemap に 'void' がありません)

Augeas (Config::Augeas) の Perl バインディングへの呼び出しを追加しようとしています。この新しい呼び出しで Perl ハッシュを返すようにしたいと思います。私はこれを書きました:

しかし、ビルドすると、次のようになります。

私は何を間違っていますか?

0 投票する
2 に答える
96 参照

perl - 他のモジュールからのcソースを使用したperlビルドモジュール

Module(::PerlArray)2つのバックエンドaとModule::PDL(に依存する可能性があります)が必要なモジュールに取り組んでいますModule。どちらもfunctions.c/.hビルドのためにファイルにアクセスする必要があります。このファイルには、モジュールに必要なかなり複雑なロジックが含まれています。モジュールごとに個別に配布するのではなく、システム上でそれを保持してから、または(ここでの複雑さを考えるとおそらく後者)Module::PPの適切なビルドフラグに追加する方法はありますか?EU::MMM::B

より視覚的に置くために

コンパイルにより、functions.oとリンクが作成されます。フラグを適切に設定する方法は理解できると思いますが、インストール中にModuleにfunctions.cファイルを保持させる方法と、インストール時にファイルを見つける方法を教えてModule::PDLください。配置できる場所はありfunctions.c/.hますか?

0 投票する
2 に答える
865 参照

perl - CPAN から手動で XS モジュールをコンパイルするにはどうすればよいですか?

XS モジュールを CPAN からダウンロードしたばかりですが、 を使用せずに手動でコンパイルしたいと考えていますcpan。、、およびファイルを実行perl Makefile.PLしてmake作成しますが、パスに入れるものがありません。私は何が欠けていますか?.c.o.xs.bs.pm

make install私はすべてのユーザーにそれをしたくありません。

0 投票する
1 に答える
393 参照

c++ - PerlXSPP-std::stringの複数の定義

GoogleのURLライブラリ機能の一部をperlモジュールとして公開しようとしています。ここや他の場所でのいくつかの投稿に基づくと、XSPPから始めるのが良いと思われます。これまでに作成したものは次のとおりです(googleurl libのコンパイル済みバージョンから開始):

私はこのxsppファイルを作成しました(簡潔にするためにいくつかのメソッドは省略されています):

そして、私はこのMakefile.PLファイルを作成しました:

それから私は実行します:

..そして次のエラーが発生します:

xsppの経験がある人は、このエラーの原因が何であるかを知っていますか?上記のGURL.xspファイルでxsppを正常に実行でき、妥当な出力が生成されます。

0 投票する
2 に答える
150 参照

c++ - C++内からのperlファイルの行番号とファイル名の決定

私はアプリケーションに埋め込まれたPerlを使用しています。Perl内から呼び出されるかなりの数のC++関数をインストールしました。その1つがロギング機能です。この関数を呼び出したPerlファイルのファイル名と行番号をログメッセージに追加したいと思います。
Perl側では、「caller()」関数を使用してこの情報を取得できることはわかっていますが、この関数はすでに数百の場所で使用されているため、C++側を変更したいと思います。この情報はC++XSUBに渡されます。関数ともしそうなら、私はそれをどのように取得しますか?

ありがとう。

0 投票する
2 に答える
1199 参照

perl - XSコードでthreads-> tid()値を取得するには?

perl モジュールの *.XS 部分内の C 関数で、現在の perl スレッド ID を取得する必要があります。

純粋な perl (*.pm 部分) では、単純に次のようにします。

しかし、XS でこの値を取得するための推奨される方法は何ですか?

残念ながら、http://perldoc.perl.org/perlthrtut.htmlとhttp://perldoc.perl.org/threads.htmlでは、XS でのスレッドの扱いについては触れられていません

前もって感謝します

-- kmx

0 投票する
1 に答える
1781 参照

character-encoding - 組み込み Vaadin アプリケーションの文字エンコードの変更

Vaadin アプリをサード パーティの Web ページに埋め込む必要があります。Web サーバーとアプリケーション サーバーは異なるドメインにあります。アプリケーションの性質上、iframe を使用することはできません。そこで、VaadinXS アドオンと組み込みアプリケーションを div 内に使用しました。

今私の問題は:

Web ページには非 utf エンコーディングがあります (実際には windows-1251 です)。また、Vaadin サーブレットのデフォルトのエンコーディングは utf-8 のようです。

質問:

Vaadin 組み込み XS サーブレットの文字エンコーディングをオーバーライドする方法はありますか。

0 投票する
1 に答える
434 参照

perl - MakeMakerにサブディレクトリにXSファイルを作成するように指示するにはどうすればよいですか?

XSコードを追加したばかりの大きなプロジェクトがあり、トップレベルのディレクトリをできるだけクリーンに保ちたいと思います。XSファイルとtypemapなどを入れたいです。サブディレクトリに入れますが、そうすると、MakeMakerはそれらを見つけることができません。そのため、現在、彼らはプロジェクトのルートに座っているだけです。

MakeMakerにXSのもののサブディレクトリを検索するように指示して、そこからビルドできるようにするにはどうすればよいですか?

0 投票する
2 に答える
1380 参照

perl - XS モジュールを手動でインストールするには?

私が間違っている場合は訂正してください。ただし、XS および Dynaloader ベースのモジュールは、C/C++ 共有オブジェクト (.so) を使用するモジュールであり、PP (Pure Perl) ではありませんか?

ここで、Web 接続がまったくないマシン (Solaris 10) を持っていて、たとえばCrypt::OpenSSL::AES(XS ベースのモジュール)をインストールしたい場合、 AES.pm@INC の関連するパスにファイルをコピーしても何の役にも立ちません。システムがlibsslインストールされていません。

私の 2 番目の最も重要な質問は、CPAN を持っていない場合にそのようなモジュールをどのようにインストールすればよいかということです。私のアプローチは次のとおりです。

  1. 最初libsslに自分のプラットフォーム用に入手してコンパイルしますが、perl が見つけられるように、そのシャード オブジェクト ファイルをどこに配置すればよいでしょうか?
  2. libsslをインストールしてコンパイルし、あるべき場所に配置したらAES.pm、@INCの関連するパスにコピーするだけで十分ですか、それとも構成/作成する必要がありますか?
0 投票する
2 に答える
616 参照

perl - Perl XS および C++ でポインタをバッファに渡す

私は C++ をほとんど知らないので、それは役に立たず、私の XS はあまり良くありません。C++ ライブラリ用の XS インターフェイスを作成していますが、1 つを除いてほとんどすべてのメソッドが機能しています。

Perl のメソッドは次のようになります。

メソッドは、次の .h ファイルとして定義されます。

「バッファ」は、NULL で渡された場合に割り当てられます。

署名が異なる readPath の 2 つの追加バージョンがありますが、それらは私が必要とするものではありません。(興味深いことに、コンパイルしようとすると、「候補」が不要な2つであることがわかります。)それは、「char * &」を理解していないためですか?

私が書く必要がある xsub を手伝ってくれる人はいますか?

Perl 5.14.2 を使用しています。

ところで -- T_IV には typemap "long long int" も使用しました。long long を正しく typemap する方法に関するドキュメントが見つかりません。long long をタイプマップする方法について何か提案はありますか?

ありがとう、