問題タブ [erlang-driver]

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

erlang - Erlang でリンクされたドライバーのプロファイリング

リンクされたポート ドライバーをプロファイリングするにはどうすればよいですか? OTP ツール (fprofなど) はどうやら Erlang コードのプロファイリングのみを行っており、フィードする C 実行可能ファイルがありませんgprof

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

erlang - iolist の代わりに条件を Erlang ドライバーに送信する

driver_output_term反対方向、つまり最初に iolist に変換せずに Erlang 項をドライバに送信することと同等のものはありますか? そうでない場合は、おそらく ; を使用して用語を変換term_to_binaryし、C 側でei;を使用して解析する必要があります。良い例はありますか?

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

erlang - ループ中のエラー

リストの各要素に対して次のループがあるとします。

エラーをキャッチして要素をループし続ける方法は?

このコードが gen_server にあり、 process_flag(trap_exit, true) の場合は同じ質問ですか?

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

erlang - glpkerl (glpk erlang ライブラリ) コンパイル エラー

Ubuntu 11.10 で glpkerl ライブラリをコンパイルしようとしていますが、これまでのところ成功していません。

ずっとエラーが発生しているので、見逃している重要なものがあるかもしれません:

私が試したこと

インストールされている Erlang のバージョンは R14B02 です (ディストリビューションの公式 apt リポジトリからインストールされます)。

私の glpk バージョンは公式レポで新しいので、ここから glpk-4.38 をダウンロードしました: http://ftp.gnu.org/gnu/glpk/。このバージョンの glpk をシステム全体にインストールしたくないので、ディレクトリ ~/opt を作成し、インストールするすべてのライブラリのルートとして次の手順で使用します。

次に、glpkerldrv をダウンロードしてインストールを試みます。

make の使用中に何か問題が発生したようです。glpkerl インストール wiki に記載されているように、configure 中に --disable-hardcore を使用して、コンパイラの警告からエラーへの変換を無効にしました。ただし、それでも、次の宣言されていない識別子エラーは依然として残っています。

どうやら、handlers.c ファイルを生成する perl スクリプトには、limits.h も含まれているはずです。以下を追加して修正しました(Cの経験がないため、これが正しい方法であるかどうかはわかりません):

これで、ビルドが機能し (--disable-hardcore警告は無視されるべきではないと思いますが、添付ファイルを参照してください)、make、make check、および make install を実行できます。

しかし、私は2番目の部分で立ち往生しています:

ビルドは正常に動作しているように見えますが、ダイアライザー エラーのためにチェックが失敗します。

どうやら、DIALYZERFLAGS を makefile に渡すことができます。

そして、ここで私はどのように進めるかわからないところです

最後のコマンドを実行した後、次のエラーが表示されます。

奇妙なことは、+debug_info パラメータが明らかに erlang コンパイラに渡されていることです (Makefile.opt ファイルにあるようです)。

現在の環境でこれを解決する方法がまったくわからないため、これ以上の調査をやめました。ここで明らかな何かが欠けていますか?ありがとう!

(タグ: erlang glpk glpkerl)

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

mongodb - レプリカ セットを使用する場合の mongodb-erlang ドライバーに関する奇妙なこと

私のコードは次のようなものです:

27017がプライマリ ノードであるため、データを正常に挿入できます。

しかし、すべての mongo rs instances: ではなく、コードにセカンダリ ノードを 1 つだけ配置Replset = {<<"rs1">>, [{localhost, 27019}]}すると、データを挿入することもできます。

例外またはエラーをスローする必要があると思いましたが、データは正常に書き込まれました。

なぜそれが起こったのですか?

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

java - javaクライアントを使用してredisからerlang用語を読み取る方法は?

たとえば、タプル T = {k1, v1, k2, v2} を jedis で redis に保存します。

以下のコードを使用して、この erlang 用語を読み取ろうとしています。

エラー: com.ericsson.otp.erlang.OtpErlangDecodeException: 不明なデータ型: 239。

では、どうすれば erlang 用語を正しく取得できますか?


Erlang 側:

term_to_binary({k1, v1, k2, v2})。

<<131,104,4,100,0,2,107,49,100,0,2,118,49,100,0,2,107,50, 100,0,2,118,50>>

Java 側:

j.get("mykey").getBytes():

-17 -65 -67 104 4 100 0 2 107 49 100 0 2 118 49 100 0 2 107 50 100 0 2 118 50.

最初の 3 バイトだけが異なるようです。そこで、それらを byte(131) に変更すると、System.out.println(OtpErlangObject.decode(ois)) で正しく印刷できます。

ただし、リストが含まれるレコードなど、用語がより複雑な場合は機能しません。データの先頭だけでなく、末尾や途中にも他の文字が表示されるためです。

保存したデータが取得したデータと異なるのはなぜですか?

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

c - Erlang ドライバーをコンパイルするには?

Erlang ドライバーがどのように機能するかをよりよく理解しようとしており、本の簡単な例から始めましたが、ネイティブの Erlang ドライバー コードを含む C ファイルをコンパイルしようとすると、次のコンパイル エラー メッセージが表示されました。

/tmp/ccQ0GroH.o:example1_lid.c:(.text+0xe): driver_free への未定義の参照driver_alloc' /tmp/ccQ0GroH.o:example1_lid.c:(.text+0x2f): undefined reference to' /tmp/ccQ0GroH.o:example1_lid.c:(.text+0xb0): `driver_output' への未定義の参照

なぜこれが起こっているのか、どうすれば修正できるのか誰か知っていますか? 参考までにCファイルを以下に掲載します。

ありがとう。

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

mysql - mysql ドライバーをインストールできませんでした Erlang : src/mysql_auth.erl:178: crypto:sha/1 は非推奨であり、将来的に削除される予定です

https://github.com/dizzyd/erlang-mysql-driverを使用して mysql ドライバーをインストールしようとしています

Erlang 5.10.3 を使用しています。Erlang 5.10.3 をサポートするドライバーの更新はありますか?

0 投票する
0 に答える
2641 参照

erlang - ネットワークが切断された後、最後のセッションを続行するには?

サーバーとして ejabberd を使用して Android アプリケーションで作業しています。VOIP を使用してユーザーに電話をかけます。インターネット接続がダウンしたときにサーバーから切断しました。インターネット接続が確立された後、タイムアウトが発生する前に最後のセッションを続行する必要があります。 prosodyサーバーと一部のクライアントで。しかし、私が望むのは再ログインしないことです。これは、新しいストリームを開くこと、TLS、SASL認証、およびリソースバインディングが発生しないことを意味します。これの代替?