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。