2020/05/04-特定のコンパイラがフラグを立てた警告の片付けとリファクタリング、削除の少しのコード。ここ数か月にわたって、ASIOコードをブーストするための更新により、新しいブーストに移りました。
2019/08/29-追加の文字列ユーティリティ関数を追加しました。
2019/04/11-シリアル化ユーティリティのGoogleプロトコルバッファーのサポートを追加しました。したがって、TCP、UDP、マルチキャストクラスなど、すべてのASIOクラスで自動的に達成されるサポート。
このライブラリ(CoreLibrary)は、マルチスレッド、ロギング、ネットワーキング、カスタム例外、ファイルユーティリティ、INIファイル、シリアル化、ソート、文字列ユーティリティなどを支援する便利なC ++ 1Xユーティリティクラスのコレクションです。言い換えれば、多くの異なるC ++コーディングプロジェクトで非常に役立つコードの一般的なコレクション。
このコードのいずれかが便利で、ソフトウェアでそれを使用するか、その一部を自分の作業に基づいて使用する場合は、クレジットを与え、ライセンスを尊重してください。
LGPL 3.0の条件の下でライセンスされており、これに関する関連ドキュメントは各ソースファイルの上部およびライセンステキストファイルにあります。
コードは私(Duncan Crutchley)の仕事です([email protected])。
Copyright(c)2014以降Duncan Crutchley。
このライブラリは、WindowsとLinux用のQT作成者で開発されています。 Windowsでは、QTクリエーター内からMSVC2017ツールチェーンを使用してコードを構築およびテストすることをお勧めしますが、MSVC2013およびMSVC2015で使用されています。他のコンパイラは、Clang 3.4+やGCC(MINGW)4.8.x+などのWindowsでテストされており、コードはこれらで動作するはずです。 Linuxでは、コードはGCC 4.8.x+およびClang 3.4+でテストされています。私は常に、このコードを構築するコンパイラの最新バージョンを使用しようとしています。そのため、改善と新機能でコードを移動する際に、古いコンパイラのサポートを維持することを保証しません。
Windows(Win10 64bit)では、現在MSVC 2017 64ビットキットをQT Creator 4.9.2/ QTフレームワーク5.13.0で使用しています。 Linux(Manjaro)では、現在、QT Creator 4.9.2およびQTフレームワーク5.13.0でGCC 8.2.1およびClang 8.0.0キットを使用しています。
ライブラリおよびユニットテストに提供されるプロジェクトは、QT作成者向けであり、LinuxとWindowsで機能します。これを達成するために、プロジェクトはQT_CUSTOM_MKSPECSフォルダーからQTの適切なMKSPEC機能フォルダーにコピーされるカスタムMKSPECSに依存しています。 MKSPECの例は、MSVC2017 64ビットおよびLinuxとの互換性のために提供されます。これらは、ユーザー自身のシステム用にカスタマイズする必要があります。
このコードを他の開発と構築環境内で使用することもできますが、それらの環境に必要なプロジェクトまたはMakeFilesを作成するのはユーザー次第です。これは、QTプロジェクト(.Pro)ファイルと前述のMKSPECファイルを参照することで、かなり簡単です。
このライブラリには、コンパイルおよび機能するために、サードパーティのオープンソースライブラリが必要です。これらは次のとおりです。
コンパイラと同様に、私は常に上記のサードパーティライブラリのコピーを最新の安定したバージョンで最新の状態に保ちます。そのため、このプロジェクトの作業を続けている間、これらのライブラリの古い裏面に対する完全なサポートを保証することはありません。
これは、1999年以来、ソフトウェア開発と学界で働いてきた長年の経験で得た知識に基づいた趣味プロジェクトです。2014年初頭にこのコードの開発を開始しました。
すべてのコードは、適切なカバレッジでユニットテストを受けており、私はこのコードを自分のプロジェクトで問題なく使用しました。また、このコードの多くと、多くの場合(ソフト)リアルタイムの要件を備えた商業プロジェクトで書かれた同様のコードを使用しており、ライセンスを遵守する限り、商業プロジェクトでこれを自由に使用してください。
必要に応じてバグを修正してコードを改善しますが、これが発生する頻度を保証しません。使用中に遭遇した問題に対して保証またはサポートを提供しません。あなたが本当に立ち往生しているなら、提供された住所に私にメールしてください、そして私が時間があれば、私はそれが私の力の範囲内であるならば、私は問題を助けようとしようとします
コードはDoxygenスタイルのコメントを使用してコメントされているため、/docs/html/folderとOpen index.htmlのドキュメントをブラウザの[選択]で確認してください。
使用例については、 /unittests /googletestsフォルダーのユニットテストコードを見ることをお勧めします。
ネットワーキングユニットテストでは、ネットワーク接続が必要であり、1つは10.34.6.1/255.255.0.0、もう1つは10.35.6.1/255.255.0.0に、2つのアダプターのセットアップが予想されます。これらは「仮想」ループバックアダプターまたは物理ネットワークアダプターである可能性がありますが、マルチキャストグループとUDPブロードキャストをテストするには、ユーザーはファイアウォールとセキュリティ設定を適切に構成する必要があります。
詳細情報と例については、Wikiを参照してください。