問題タブ [erlang-nif]

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 に答える
1225 参照

erlang - Erlang: Interfacing with Xalan: port driver or nif?

I'd like to get a real XSLT processor working with erlang. Which would be the best interface, nif or port driver? According to the nif documentation, nif calls block the runtime, so they should not take long. Is processing a long xml document too long?

Also, I'd like to allow erlang callbacks during the transformation. Does that seem possible? Possible with nif but not port drivers or vice versa?

I've never written any C, so I figured this would be good introduction. Xalan is C++. I assume nif can work with that, right?

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

c - Erlang NIF とスレッドの問題

Erlang NIF のスレッドに少し問題があります。ここで私のコードを表示できます: http://pastebin.com/HMCj24Jp。問題は、スレッドを開始するときに、いくつかの引数を取り、generate_binary関数を開始することです。これは問題ありませんが、引数を読み取ろうとするとすべてがクラッシュします。

おそらく最も複雑な問題ではありませんが、これに関するドキュメントが見つからなかったので、答えを知っている人がいるといいのですが。

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

c - erl_nif.hが見つかりません

私はerlangnifを使おうとしています。

私が作った:

しかし、エラーが発生します:

致命的なエラー:erl_nif.h:そのようなファイルまたはディレクトリはありません

どこで見つけることができますか?erlang R14B(erts-5.8.1)をインストールしました

OSArchLinux。

ありがとうございました。

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

c - ErlangNIFテスト-OSXLion

Mac OS X LionでErlang( http://www.erlang.org/doc/man/erl_nif.html )からNIFテストをコンパイルしようとしています。コンパイルできません。コンパイラフラグがありませんか?これが私が得るエラーです:

私もこれを試しました-m32が、i386アーキテクチャもありません。

ありがとう!

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

c - ErlangでC配列を表現する最良の方法は何ですか?

ErlangでC配列を表現する最良の方法は何ですか? NIF を使用して C 配列を Erlang に渡す予定です。配列はバイトで構成されており、プログラムの実行中に一部のバイトを変更する必要があります。どんな助けでも大歓迎です。

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

erlang - NIFを使用して、呼び出し間で状態を維持するCコード(つまり、NIFとしてのリンクリスト)と対話する方法

Cで実装されたリンクリストデータ構造を作成したかったのです。リンクリストを作成するというアイデアでした。

上記のListIdは、リスト上のある種のハンドルとして機能するCコードに返されるある種の「ポインター」を表します。リストが非常に大きくなる可能性があると想像していたので、リスト自体を前後に渡す必要がないことを望んでいました。リンクリストが作成されると、ユーザーは明白な方法でリストを操作します。

ErlangのNIF機能を介してこれを行うことを想像しました。これが機能するためには、C側は、add、add_afterなどの複数の呼び出しにわたってリストを維持する必要があります。

ストレートCでは、ユーザーが対話する主な機能があり、プログラムを存続させ、それによってユーザーがプログラムを対話している間、リンクリストを保持します。私が理解しているように、NIFは主な機能のないCコードを利用しています。つまり、NIFへの各呼び出しは1回限りのタイプの提案です。

誰かが私に(それが適切であると仮定して)どのようにNIFを利用して複数の呼び出しにわたって状態を維持する必要があるCコードと対話することができるかについてのいくつかの指針を教えてもらえますか?それが明確だったといいのですが!

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

c - char を指すデータを使用して NIF を介して Erlang バイナリを作成する *

NIF を使用して C-Erlang 統合を行っていますが、初期化しBinaryてそのデータを指す char * を追加するのに問題があります。

私はこのようにしています:

私が正しくやっていないことについてのアイデアはありますか? セグメンテーション違反が発生しています。

更新: セグメンテーション違反を取り除きます。しかし、今では . を含む Erlang バイナリを返すことができませんString

enif_make_stringbinary.data を使用すると、Erlang で文字列が得られます。しかしenif_make_binary、バイナリで使用しようとすると、次のような<<0,0,0,0,0,0,0,0,112,40,129,20>>ものが表示されます。変換するには何をする必要がありますか?

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

c - バイナリをerlangnifに渡す

基本的にTCP接続からいくつかのバイナリデータを受け入れ、C nifを使用してデータを復号化し、復号化されたデータを返すErlangコードを書いています。

問題は、渡されたバイナリを変更する方法がわからないように見えることです。

これは私が使用している関数です。誰かが私を正しい方向に向けることができれば、私はそれをいただければ幸いです。

ありがとう!

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

windows - Windows 上の erlang の開発環境

raw ソケットで動作する OS 固有の機能を備えた NIF を含む erlang プロジェクトがあります。このプロジェクトを Windows に移植したいと考えています。これは、NIF の機能を Windows で動作するように変更することを意味します。

Windows での erlang プログラミングに推奨される IDE は何ですか?

このプロジェクトをコンパイルするには、何を設定する必要がありますか?