2020/05/04-一些代碼整理,重構和刪除某些編譯器標記的警告。在過去的幾個月中,由於更新以提升ASIO代碼,我轉向了新的Boost。
2019/08/29-添加了額外的字符串實用程序功能。
2019/04/11-添加了對序列化實用程序中Google協議緩衝區的支持。因此,支持在所有ASIO類中自動實現的支持,例如TCP,UDP和多播類。
該庫(CoreLibrary)是有用的C ++ 1X公用事業類的集合,可協助多線程記錄,網絡,自定義異常,文件實用程序,INI文件,序列化,分類,字符串實用程序等。換句話說,一般的代碼集合在許多不同的C ++編碼項目中都非常有用。
如果您發現此代碼中的任何一個有用,並將其在軟件中使用或採用一部分來基於您自己的工作,請給予信譽並尊重許可證。
它是根據LGPL 3.0的條款許可的,可以在每個源文件的頂部和許可文本文件中找到有關此的相關文檔。
代碼是我的工作(Duncan Crutchley)([email protected])。
版權(C)2014年,鄧肯·克魯奇利(Duncan Crutchley)。
該庫是在Windows和Linux的QT創建者中開發的。在Windows中,建議使用QT Creator內部的MSVC2017工具鏈來構建和測試代碼,但已成功地與MSVC2013和MSVC2015一起使用。其他編譯器已在窗口中進行了測試,例如Clang 3.4+和GCC(mingw)4.8.x+,並且代碼應與這些作用。在Linux中,已使用GCC 4.8.x+和Clang 3.4+測試了代碼。我總是嘗試使用我使用此代碼的任何編譯器的最新穩定版本。因此,因此,我不能保證我會在改進和新功能上繼續執行代碼時對較舊的編譯器保持支持。
在Windows(Win10 64bit)上,我目前正在使用MSVC 2017 64bit Kit中的QT Creator 4.9.2/ QT Framework 5.13.0。在Linux(Manjaro)上,我目前正在使用GCC 8.2.1和Clang 8.0.0套件中的QT Creator 4.9.2和QT Framework 5.13.0。
為圖書館提供的項目和單元測試是針對QT創建者的,並且將在Linux和Windows中使用。為了實現這一目標,項目依賴於從qt_custom_mkspecs文件夾複製到QT的適當MKSPEC功能文件夾中的自定義MKSPEC。提供了示例MKSPEC,以與MSVC2017 64位和Linux兼容。這些應該是為用戶自己的系統定制的。
您可以在其他開發和構建環境中使用此代碼,但要由用戶為這些環境創建所需的項目或makefiles。通過參考QT項目(.pro)文件和前面提到的MKSPEC文件,這應該很容易。
該庫需要一些第三方開源庫才能編譯和功能。這些如下:
與編譯器一樣,我始終將上述第三方庫的副本與最新的穩定版本保持最新狀態,因此,在我繼續從事該項目時,我不能保證對這些庫的較舊的Versoins的全力支持。
這在很大程度上是一個愛好項目,基於我自1999年以來我在軟件開發和學術界工作的多年經驗中獲得的知識。我於2014年初開始開發該守則。這代表了一系列可直接使用的內容,並且可以簡單地使用和有用的軟件開發需求。
所有代碼均已進行了良好的覆蓋範圍測試,並且我在自己的項目中使用了此代碼,沒有問題。我還使用了我在商業項目中編寫的大量代碼和類似的代碼,通常具有(軟)實時要求,並且沒有任何問題,因此只要您遵守許可證,就可以隨意在商業項目中使用它。
我修復錯誤並在必要時改進代碼,但不能保證這種情況發生多久。我對使用時遇到的任何問題沒有任何保修或支持。雖然如果您真的被困在給我的地址上的電子郵件中
使用Doxygen樣式註釋對代碼進行了評論,因此請檢查/docs/html/文件夾中的文檔,並在您選擇的瀏覽器中打開index.html。
對於使用示例,我建議您在 /Unitests /googletests文件夾中查看單元測試代碼。
網絡單元測試需要網絡連接性,並期望設置2個適配器,一個設置為10.34.6.1/255.255.0.0,另一個在10.35.6.1/255.255.0.0上進行。這些可以是“虛擬”迴路適配器或物理網絡適配器,但是要測試多播組,UDP廣播用戶必須適當配置其防火牆和安全設置。
有關更多詳細信息和示例,請參見Wiki。