問題タブ [inline-c]

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 投票する
1 に答える
247 参照

perl - Perl Inline::C 失敗時に pdl または 0 を返す

カメラに接続し、写真を撮り、データをピドルに読み込むモジュールを構築しています。これらはすべて Inline::C コマンドで行われます。PDL ドキュメントの手順を使用して、を作成しpdl *て返すことができます。ただし、カメラが写真を撮れない可能性があります。その場合は0、通常の約束に従って返品したいと思いmy $pic_pdl = $Camera->TakePicture or die "Failed to take image"ます。これは、メカニズムを使用する必要があることを意味しているようInline_Stack_Pushですが、 を に適切に変換する方法がわかりませpdl *SV*。また、できれば$!エラーコードもセットしたいです。これはインラインで実行できますか?

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

perl - inline::C を使用して数学を高速化する価値はありますか

私は、大量の DNA を処理するための perl プログラムに取り組んでいます。必要なものを正確に出力しますが、NYTprof を使用するよりもはるかに時間がかかります。主な問題領域を絞り込んで、値を一緒に追加するループにしました。inline::C を使用して計算を行うと、プログラムが高速になりますか、それとも速度を受け入れて先に進む必要がありますか? 速度を改善する別の方法はありますか?ここに私のプログラムとそれが実行する入力、およびデフォルト値がすでに入力された実行可能ファイルがあります。

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

c - Inline::C を強制的に古いライブラリにリンクするにはどうすればよいですか?

古いバージョンの共有システム ライブラリとのみ互換性のある Perl モジュールを扱っています。たまたま私のシステムに古いバージョンのライブラリがありますがInline::C、現在の最新のライブラリを削除せずに Perl をその古いライブラリと強制的にリンクさせる方法がわかりません。

Device::USBシステム ライブラリ と互換性があるを使用しようとしていますが、 とは互換性libusb 0.1がありませんlibusb 1.0。私のシステムにはインストールされていますが、モジュールlibusb 1.0 インストールしようとすると一貫して失敗します。この失敗は、Perl がライブラリーではなくライブラリーにリンクしていることが原因のようです。libusb 0.1make testDevice::USBlibusb 1.0libusb 0.1

使用したい/usr/libの特定のバージョン( ) がそこにあることがわかります。ジェネリックではなく、このライブラリに具体的にリンクするにはどうすればよいですか? 編集? ファイルを編集しますか? 追加のスイッチを?に渡します。libusblibusb-0.1.so.4libusb.aMakefile.PL.pmmake

私はリンカについて調べてきましたが、この追加のレイヤーは、 、、 などの従来のトリックをいつ/どこで適用できるかをInline::C本当に難読化します。export LD_LIBRARY_PATH=/usr/local/my_lib:$LD_LIBRARY_PATH-rpath

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

perl - PerlアンパックをInline::CAV*に変換する必要があります

unpackPerlをInline::Cに変換するのに少し苦労しています

これは私がこれまでに持っているものですが、私はInline :: Cの初心者なので、次に何をすべきか問題があります。

誰かがこれを行う方法のヒントを提供できますか?

0 投票する
3 に答える
1255 参照

perl - Perl Inline C: Arrayref を C 関数に渡す

Inline C を使用して C 関数に arrayrefs を渡すことができません。助けてください。

まず、インライン C を機能させることができることを証明するために、C 関数にスカラー値を渡します。

そしてそれを実行します:

次に同じことを行いますが、arrayref を使用します。

それを実行します:

私が間違っていることはありますか?大変助かります!

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

c - C 最適化で一致する文字列の 2 つの配列を比較する

私は2つの配列を持つperlスクリプトを持っています.1つはキーで、もう1つは部分文字列です。1 つの配列の部分文字列がキー配列に一致するかどうかを確認する必要があります。レコードの量は膨大で、数百万単位で数えることができるので、検索を高速化するために Inline:C を使用していますが、レコードの処理にはまだ数時間かかります。

--パール部分

--Cパート

誰かが検索を最適化するのを手伝ってくれたら、それは素晴らしいことです。ありがとう。

注: 各変数の内容を説明するためにコメントを追加しました。

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

perl - Perl Inline::C: メモリ リークを回避するために Inline_Stack_Vars などは必要ですか (バイオシーケンス文字マッチング)

私の質問は、インライン C コードの作業に関するものです。インライン スタック関数 (Inline_Stack_Vars) を使用して変数を出し入れする必要がありますか、それとも、このコンテキストでは変数をその場で変更するだけで適切ですか?

生物配列データを表示するには、整列された 2 つの文字列の違いだけを表示する必要があります。たとえば、次の 2 つの文字列が与えられた場合:

これを取得したい (2 番目の文字列の一致する文字が「.」に置き換えられた)。

私はたくさんのシーケンス (何百万ものイルミナ読み取り) を持っているので、文字マッチングのために inline::c に変わりました。次のインライン コードは問題なく動作するようです (2 番目の引数を add_matchchars 関数に変更します)。

しかし、1)それは合理的に効率的ですか (より賢い/より良い方法はありますか)? 2)メモリリークしますか?

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

haskell - HaskellのインラインcでCブロックからリストまたは配列を返す方法は?

Haskell のinline-cで C ブロックからリストまたは配列を取得するにはどうすればよいですか? 言い換えれば、C で複雑なデータを構築し、それを Haskell で操作する方法です。このようなもの:

ポインターとサイズを Haskell 型でラップすることもできますが、リストを Haskell で操作したり、印刷したり、JSON でエンコードしたりしたいと考えています。