問題タブ [ace-tao]
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 C++クロスプラットフォームのパフォーマンス比較?
私は通信、解析、データ処理機能を Win32 から Linux に移植するベンチャーに携わっており、両方がサポートされます。問題のドメインは、スループットとパフォーマンスに非常に敏感です。
私は、boost と ACE のパフォーマンス特性についてほとんど経験がありません。具体的には、スレッド化に最適なパフォーマンスを提供するライブラリを理解したいと考えています。
両者の相対的なパフォーマンスに関するデータ (文書化されたもの、口コミ、またはおそらくいくつかのリンク) を提供できる人はいますか?
編集
皆さんありがとう。最初の考えを確認しました - システムレベルのクロスプラットフォームのものにはブーストを選択する可能性が最も高いです.
c++ - win32でidlファイルをコンパイルするときのmidlエラー2025(midlはstring <40>が好きではありません)
Linuxツールで正常にコンパイルしたidlファイルですが、midlを使用してコンパイルしようとするとエラーが発生します
行は次のとおりです。
これは非標準のidlですか、それとも何かが足りませんか?これを可能にするmidlのスイッチはありますか?
これにもっと早く賞金を設定できたらいいのに...
exception - Mac OS X 10.6 64 ビット MacBook から実行すると CORBA 例外が発生する
CORBA ACE/TAO を使用しているときに奇妙な例外が発生します。クライアントからメッセージを送受信する Java で記述されたサービスを実行しようとしています。Windows 7 32 ビットで同じコードを実行すると、問題なく動作します。実行可能な jar ファイルをエクスポートして、Mac で実行しようとしましたが、問題は解決しませんでした。私が得る例外は次のとおりです。
どちらの場合も、Java 1.6 を使用します。私のMacのJavaバージョンは「build 1.6.0_29-b11-402-10M3527」です
誰が問題が何であるかについて何か考えを持っていますか??
ありがとう、
ディモス。
corba - VC の Corba IDL から生成されたライブラリにシンボル エクスポートがない
2 つの IDL ファイル、testbase.idl
testhello.idl:
Hello.mpc の内容は次のとおりです。
デモをしたいです。mpc は 4 つのメイン プロジェクト (testbaseClient、testbaseserver、testhelloServer、testhelloClient) を生成し、各プロジェクトは 1 つの dll とライブラリを生成し、それらすべてが各 IDL のスケルトンとスタブとして使用されます。
VS2008 では、testUDL、testbaseclient、testbaseServer をビルドした後、リンクがいくつかのシンボルを見つけることができないため、testbaseserver と testbaseclient の両方のリンクが失敗します。エラー メッセージは次のとおりです。
エラーを理解しました:未解決の外部シンボルは、リンク自体または依存ライブラリからそれらのシンボルが見つからなかった場合にのみ発生します。したがって、testhelloclient と testhelloserver の両方に libs += test_base_server test_base_client を追加しました。すべてのプロジェクトを再生成した後、結果は同じです。「未解決の外部シンボル」がまだ残っています。
生成された 2 つの基本ライブラリが間違っていると思われ、コマンドを使用します: dumpbin /EXPORTS を使用してすべてのシンボルをエクスポートし、未解決の外部シンボルが報告されていません。
次に、私が混乱しているのは、1)ライブラリプロジェクトの作成中に使用可能なすべてのシンボルをリンクする必要があるということです。UNIX での私の過去の経験は、実行可能ファイルを作成する場合にのみすべてのシンボルが必要であるということです。
2) ここでこの問題を解決するにはどうすればよいですか? testIDL プロジェクトにいくつかの引数を追加する必要がありますか?
[アップデート]:
すべての *C.cpp が testhelloclient に追加され、すべての *C.cpp と *S.cpp がコンパイルを機能させます。
しかし、これは私が期待したとおりではありません。各 IDL を 2 つのライブラリにコンパイルしたいと考えています。1 つはスタブ用で、もう 1 つはスケルトン用です。その後、他のプロジェクトに対応するヘッダー ファイルを含むスタブ/スケルトンを提供するだけで済みます。.lib/.dll とヘッダーファイルが利用できる場合、IDL によって生成された cpp ファイルをスケルトン/サブアプリケーションでコンパイルする必要はありません。
現在、上記で生成された *.lib ファイルには、*C.cpp または *S.cpp からのシンボルが含まれていません (ダンプビンの結果は前の投稿と同様で、関数は 1 つだけです)。また、.lib にはエクスポート シンボルが含まれていないため、他のアプリケーションはまだ未解決のシンボルを報告します。
MSDN を読みました: http://msdn.microsoft.com/en-us/library/ms235636%28v=vs.90%29.aspx今日の午後。dll のエクスポート シンボルの場合、関数は次のように宣言されます。
しかし、idl で生成された c ヘッダー ファイルは、この方法に従っていないようです。
VC は、Linux の GCC とは大きく異なるようです。解決策はありますか?IDL で生成されたヘッダー ファイルの各関数に _declsepc を追加することはできませんか? この問題は次のように単純化されています: VC の IDL から生成されたライブラリにエクスポートされるシンボルはありません (より明確にするためにタイトルの名前を変更しました)
[追加更新] tao_idl コマンドに戻ります。次のようなオプションが原因のようです: -Wb,skeleton_export_include="headerfile.h" export_macro..
これらのファイルとマクロはすべて生成されているようです....生成された.mpcファイルに何か良いものはありますか?これらのheaderfile.hとマクロはありますか?
[更新] 更新された mpc ファイル (上記参照) で動作するようになりました。エクスポート ファイルは、$ACE_ROOT/bin ディレクトリにある generate_export_file.pl によって生成されます。コマンドは次のようになります。
皆さんありがとう。
serialization - CORBA (ACE/TAO) でのブースト シリアライゼーションの使用方法
データ構造体をシリアル化し、ネットワーク経由で送信し、反対側で逆シリアル化しようとしています。両側が一貫して x64 または x86 としてコンパイルされている場合は完全に正常に動作しますが、単一のブール値のみをシリアル化しても、2 つの間では動作しません。
シリアル番号:
逆シリアル化コード: