問題タブ [poco-libraries]
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++ - POCO C++ とコンピューターのスリープとウェイクアップ
私の問題はこのようなものです。私は poco でサービスを作成しており、ランダム操作にはネットワーク ドライバーを使用しています。問題は、マシンがスリープ状態になると、Windows 7 がネットワーク ドライバーをアンプラグして、動作しないハンドラーが残ることです。POCOでスリープ信号をキャッチし、マシンが起動したときにクリーンな初期化解除/再初期化を行う方法はありますか?
compilation - Mac OS で 32 ビットの Poco ライブラリをビルドするには?
Mac OS で 32 ビットの Poco ライブラリをビルドしたいと考えています (他に 32 ビットの依存関係が固定されているため)。ただし、デフォルトでは、Poco は x86_64 ターゲット用にのみビルドします。
Poco を次のようにビルドしてみました (Poco のビルド手順に従って):
ただし、x86_64 用にしかビルドされません。何か案は?
============================================
さて、答えはこれです(他の誰かがこれに遭遇した場合に備えて):
configure と make を実行する前に、次の 2 つの変数をエクスポートする必要があります。
dll - Windows で Libtool と LoadLibrary() を使用するモジュール
実行時に特定のモジュール (共有ライブラリ) をロードするクロスプラットフォーム プログラムを c++ で作成しようとしています。これを行うために、Poco C++ Librariesの ClassLoader を使用しています。autoconf、automake、libtool を使用してコンパイル チェーンを作成しました。これは Linux 環境では問題になりませんが、Windows では問題が発生します。Makefile を利用できるようにコンパイルするときに、MinGW と MSYS を使用しています。ClassLoader は、Windows 固有の LoadLibrary() 関数を使用してモジュールをロードします。つまり、モジュールを DLL としてコンパイルする必要があります。
ライブラリにコンパイルするクラスは、メイン アプリケーション内の別のクラスを継承します。その後、make を実行しようとすると、未定義の参照について多くのエラーが表示され、共有ライブラリの構築が拒否されます。これは名前のマングリングが原因だと思います。それとも、ライブラリの外でクラスを継承できないからですか? (そのクラスはライブラリのソースに含まれていませんが、ヘッダー ファイルは見つかります)
MinGW + MSYS の下でコンパイルすることを主張するが、それでも LoadLibrary() を使用することがどれだけの問題をもたらすかはよくわかりません。これの経験がある人はいますか?
c++ - Poco ApplicationServer の Eclipse と Mingw とのリンクの問題
poco から基本的な ApplicationServer の例を取得しようとしています。私は使っている:
Windows 7 MinGW ポコ Eclipse c++
そのため、一連のハッキングと設定の後、最終的に機能するようになりました。しかし、自分のハッキングが何をしたのかわかりません。自分のハッキングではなく、適切な解決策が必要です。
私が抱えている問題は、ビルド時に「XX への未解決の参照」が大量に発生することです。これらは poco ライブラリからポップアップしています。コードで使用しているものではありません。私のハックは、私の Server.cpp で、参照されている各クラスを調べて、それらを使用することでした。宣言するだけでは不十分で、実際にオブジェクトを使用する必要があります。不平を言っていたものをすべて使用すると、コンパイルされ、期待どおりに実行されます。これは、何が起こっているのかを知っている人にとっては、単純な構成ソリューションを示す動作のように思えます。
私が結論できると思うこと:
- poco ライブラリは適切に構築されています (このハックを導入すると動作します)
- MinGWは正常に動作しています
- 日食のセットアップは、物事を正しくリンクしていない可能性があります。
だから私の質問は次のとおりです。誰かが間違って設定されていることを知っていますか?それがこの動作を引き起こす可能性がありますか? 容認できないほど厄介なハックではなく、これに対する「クリーンな」ソリューションをどのように配置しますか?
問題を回避する私のハッキングされたメイン:
c++ - POCO C++ サーバーページを実行するにはどうすればよいですか?
私は C++ サーバー ページの初心者です。micronovae でC++ Server Pagesを試しましたが、ODBC に接続できず、以前はリンク エラー " undefined reference to SQLAllocHandle@12
" が発生していました。解決できませんでした。micronovae と同様に、POCO も C++ サーバー ページを提供します。試してみようと思いました。http://pocoproject.org/docs/PageCompilerUserGuide.html#0から 1 つのサンプルを試しました。
私がしたことは、最初に TimeHandler.html というファイルを作成し、その中に次の内容を含めました。
次に、コマンドラインの Pagecompiler ツール、つまりコマンド プロンプトから CPSPCD を使用すると、次の 2 つのファイルが生成されました。
1) TimeHandler.cpp
2) TimeHandler.h
次に、VS 2010 で新しいプロジェクトを作成し、これら 2 つのファイルを追加してコンパイルしました。問題はほとんどありませんでしたが、後で環境変数を更新したところ、問題なく動作しました。しかし、最後のエラーが 1 つあります。「....未解決のシンボル _main....」です。
その中にメインはありませんでした..では、このプログラムをどのように実行しますか?? このプログラムではない場合、少なくとも誰かがC++コードをhtml内に埋め込み、コンパイルして実行する方法について概要を説明します..!
c++ - Poco ライブラリの使用を開始するには?
現在、正常にコンパイルするために管理したい次のファイルがあります。Pocoの使用方法に関するチュートリアルを探しましたが、残念ながら完全な初心者向けのチュートリアルは見つかりませんでした (linux と eclipse、および win と vs08 の両方でドキュメントに従おうとしました)。
誰かがPocoライブラリ(Eclipseまたはvs08の下で)を正しく使用する方法を教えてくれれば、とても感謝しています。
編集:問題が見つかりました。リンカーに正確なライブラリを指定せず、検索パスのみを指定しました。
html - パラメータの読み取り-POCOC++
私は初心者で、POCO C ++ライブラリ( http://pocoproject.org/)の使い方を学ぼうとしています。
いくつかの入力要素(テキストボックス、チェックボックスなど)を持つHTMLがあるとします。
送信ボタンを押した後、サーバー側でリクエストオブジェクトからこれらの値を読み取るにはどうすればよいですか?
POSTメソッドを使用した場合にこれがどのように行われるかについても説明していただけますか?
c++ - c ++クラスメンバーの初期化(poco)
Poco :: Database :: ODBCを使用して、データベース用のラッパーを作成しています
通常のコードは次のようになっています:
これは問題なく機能します。
今私のクラスのために
Poco::Data::ODBC::Connector::registerConnector()
の初期化呼び出しの前に呼び出す方法ses
私は試した
しかし、これは機能しません。エラーが発生します
'registerConnector' : is not a member of 'Poco::Data::ODBC::Connector'
どうすればいいですか?
c++ - Poco SocketReactor でマルチスレッドを処理する良い方法は何ですか?
そのため、大規模なクライアント/サーバー システムを実装するための代替案についていくつかの調査を開始しています。現在、アプリケーション フレームワークの多くに Poco を使用しているため、Poco の Reactor フレームワークを検討しています。
着信パケットのサイズはかなり小さくなるので、クライアントからデータを読み取るという観点からは問題なく機能すると思います。ただし、クライアント入力に基づいて実行される操作は比較的コストがかかり、別のプロセスまたは別のサーバーにオフロードする必要がある場合があります。また、クライアントに返される応答は、かなり大きい場合があります。したがって、明らかに、それが行われている間、リアクター スレッドをブロックすることはできません。
したがって、リアクター イベント ハンドラーでデータを読み取ってから、データを処理する別のスレッド (プール) に渡すと、うまくいくと思います。
私がよくわからないのは、操作が完了したときにクライアントに応答を返すプロセスです。
フレームワークの最適な使用方法に関する情報があまり見つかりません。しかし、いくつかのテストを行ったところ、ソケットが書き込み可能である間、リアクターが WritableNotification イベントを繰り返し発生させるようです。最適なプロセスは、WritableNotification イベントを受信するオブジェクトで送信する必要があるデータをキューに入れ、イベントを受信するたびに小さなチャンクを送信することでしょうか?
更新: したがって、これをテストし始めたとき、サーバーの CPU 使用率が、サーバー アプリが単一の接続で実行されている CPU で 100% に達したことを発見してぞっとしました。しかし、掘り下げた後、私は自分が間違っていたことを発見しました。サービス ハンドラの作成時に WritableNotification イベントに登録する必要がないことを発見しました。登録する必要があるのは、送信するデータがある場合のみです。次に、すべてのデータが送信されたら、イベント ハンドラーの登録を解除する必要があります。このようにして、リアクターは、送信するものが何もないときに、イベント ハンドラーを何度も呼び出し続ける必要がありません。現在、100 接続でも CPU 使用率はほぼ 0 のままです。うわー!