問題タブ [ace]
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.
c++ - マルチスレッド プログラミング - ACE_thread_t または ACE_Task
ACE を使用して (Linux 上で) マルチスレッド プロセスを作成したいと考えています。c++ でスレッドを実装する際の ACE_Task と ACE_thread_t の使用の違いは何ですか?
c++ - ACE Reactor フレームワークでの単一イベントに対する複数のハンドラ
着信接続を受け入れるサーバーを設計しています。クライアントは、サーバーが応答する必要がある要求を送信することがありますが、ほとんどの場合、サーバーはいくつかのイベントを検出し、接続されているすべてのクライアントにイベントをブロードキャストします。基本的に私が持っているのはこれです:
ここでの問題は、hEvent が設定されるたびに、MyService の最初のインスタンスだけがその handle_signal を呼び出すことです。1 つのイベントに対して 1 つのハンドラーのみが許可されているようですが、ハンドラーは複数のイベントを処理できます。複数のハンドラーを 1 つのイベントとして処理するにはどうすればよいですか?
イベントを manual-reset-event にすると、イベントが設定されている限り、すべてのハンドラで handle_signal が呼び出されます。しかし、それは本当に私が望んでいることではありません。クライアントに同じイベントが複数回通知されることは望ましくありません。
イベントの代わりにセマフォを使用して、目標を達成しました。
そして、 MyService のコンストラクターとデストラクタが接続されているクライアントの数をカウントするようにして、セマフォを正しい回数解放できるようにしました。
これは間違っているようで、ハックのようなにおいがします。ACEでこれを行う適切な方法はありますか?
api - 変数 "ACE_Atomic_OpAcsHcs::Cache::cnt" には初期化子がありますが、型が不完全です
WindowsコードをLinuxに移植しています。ACE_Atomic_Op API を使用している場合、コンパイラは以下に示すようなエラーをスローします。
私のコードは次のとおりです。
私が持っているCache.hファイルに
そしてcache.cppで、cntを次のように宣言しています
これはWindowsでは正常に機能しますが、Linuxではエラーがスローされます
誰が問題が何であるか教えてもらえますか?
前もって感謝します
c++ - ace_select_reactor または ace_dev_poll_reactor を使用する必要がありますか?
ace_select_reactor と ace_dev_poll_reactor のどちらを選択すればよいかわかりません。リアクターは、UNIX ドメイン ソケットを使用するサーバーで受信オープン接続イベントをリッスンするために使用されます。
c - 動的ライブラリの読み込み: 未解決のシンボル ランタイムを把握する簡単な方法
私は、実行時に ACE_DLL::open を使用して動的ライブラリをロードする巨大なプロジェクトに取り組んでいます。
ライブラリが見つかり、開こうとしましたが、未解決のシンボルが原因で mmap (以下は strace ) で失敗しました。未解決のシンボルが原因であることは確かであり、 nm を実行することで、すべての未解決のシンボルのリストを取得できました。問題は、コンパイル時に未解決のシンボルが大量にあり、実行時に解決する必要があることです。そのため、すべてのシンボルを 1 つずつ確認する必要があるため、nm はあまり役に立ちません。
.so が読み込まれる原因を正確に把握するスマートな方法はありますか
visual-studio - Makefile Project Creator for VS9 で定義されたプリプロセッサ フラグを削除する方法
Visual Studio 9 用の Makefile Project Creator (MPC) を使用してスタティック ライブラリ (.lib 構成) をビルドしようとしています。GNU ビルド環境用に記述された構成 (*.mpc) ファイルがありますが、コンパイルしようとしています。 VS9 とのクロスプラットフォーム。
生成されたソリューション ファイルからプリプロセッサ フラグを削除したいのですACE_AS_STATIC_LIBS;TAO_AS_STATIC_LIBS;
が、MPC テンプレート ファイル (*.mpt) で何を変更すればよいかわかりません。
grep
ディレクトリで aを介してフラグを見つけようとしまし$(ACE_ROOT)/MPC
たが、検索は決定的ではありませんでした。