問題タブ [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.
erlang - Erlang でリンクされたドライバーのプロファイリング
リンクされたポート ドライバーをプロファイリングするにはどうすればよいですか? OTP ツール (fprof
など) はどうやら Erlang コードのプロファイリングのみを行っており、フィードする C 実行可能ファイルがありませんgprof
。
erlang - iolist の代わりに条件を Erlang ドライバーに送信する
driver_output_term
反対方向、つまり最初に iolist に変換せずに Erlang 項をドライバに送信することと同等のものはありますか? そうでない場合は、おそらく ; を使用して用語を変換term_to_binary
し、C 側でei
;を使用して解析する必要があります。良い例はありますか?
erlang - ループ中のエラー
リストの各要素に対して次のループがあるとします。
エラーをキャッチして要素をループし続ける方法は?
このコードが gen_server にあり、 process_flag(trap_exit, true) の場合は同じ質問ですか?
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)
mongodb - レプリカ セットを使用する場合の mongodb-erlang ドライバーに関する奇妙なこと
私のコードは次のようなものです:
27017
がプライマリ ノードであるため、データを正常に挿入できます。
しかし、すべての mongo rs instances: ではなく、コードにセカンダリ ノードを 1 つだけ配置Replset = {<<"rs1">>, [{localhost, 27019}]}
すると、データを挿入することもできます。
例外またはエラーをスローする必要があると思いましたが、データは正常に書き込まれました。
なぜそれが起こったのですか?
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)) で正しく印刷できます。
ただし、リストが含まれるレコードなど、用語がより複雑な場合は機能しません。データの先頭だけでなく、末尾や途中にも他の文字が表示されるためです。
保存したデータが取得したデータと異なるのはなぜですか?
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ファイルを以下に掲載します。
ありがとう。
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 をサポートするドライバーの更新はありますか?
erlang - ネットワークが切断された後、最後のセッションを続行するには?
サーバーとして ejabberd を使用して Android アプリケーションで作業しています。VOIP を使用してユーザーに電話をかけます。インターネット接続がダウンしたときにサーバーから切断しました。インターネット接続が確立された後、タイムアウトが発生する前に最後のセッションを続行する必要があります。 prosodyサーバーと一部のクライアントで。しかし、私が望むのは再ログインしないことです。これは、新しいストリームを開くこと、TLS、SASL認証、およびリソースバインディングが発生しないことを意味します。これの代替?