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])입니다.
저작권 (C) 2014 이후 Duncan Crutchley.
이 라이브러리는 Windows 및 Linux 용 QT Creator에서 개발되었습니다. Windows에서는 QT Creator 내의 MSVC2017 도구 체인을 사용하여 코드를 빌드하고 테스트하는 것이 좋습니다. 그러나 MSVC2013 및 MSVC2015와 함께 사용되었습니다. 다른 컴파일러는 Clang 3.4+ 및 GCC (Mingw) 4.8.x+와 같은 Windows에서 테스트되었으며 코드는 이와 함께 작동해야합니다. Linux에서는 코드가 GCC 4.8.x+ 및 Clang 3.4+로 테스트되었습니다. 나는 항상이 코드를 작성하는 모든 컴파일러의 최신 안정 버전을 사용하려고 노력합니다. 따라서 개선 사항과 새로운 기능으로 코드를 켤 때 이전 컴파일러에 대한 지원을 유지할 것을 보장하지는 않습니다.
Windows (Win10 64bit)에서 현재 QT Creator 4.9.2/ QT 프레임 워크 5.13.0에서 MSVC 2017 64 비트 키트를 사용하고 있습니다. 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 기능 폴더로 복사 할 맞춤형 mkspec에 의존합니다. 예제 MKSPEC는 MSVC2017 64 비트 및 Linux와의 호환성을 위해 제공됩니다. 이들은 사용자 자체 시스템에 맞게 사용자 정의해야합니다.
다른 개발 및 빌드 환경 내 에서이 코드를 사용할 수 있지만 해당 환경에 필요한 프로젝트 또는 MakeFiles를 작성하는 것은 사용자에게 달려 있습니다. 이는 QT 프로젝트 (.Pro) 파일과 앞에서 언급 한 MKSPEC 파일을 참조하여 매우 쉬워야합니다.
이 라이브러리에는 컴파일 및 기능을 위해서는 일부 타사 오픈 소스 라이브러리가 필요합니다. 이것들은 다음과 같습니다.
컴파일러와 마찬가지로 나는 항상 위의 타사 라이브러리의 사본을 최신 안정 버전으로 최신 상태로 유지 하므로이 프로젝트를 계속 진행할 때 이러한 라이브러리의 오래된 구두에 대한 완전한 지원을 보장하지는 않습니다.
이것은 1999 년 이래로 소프트웨어 개발 및 학계에서 수년간의 경험을 쌓은 지식을 바탕으로 한 취미 프로젝트입니다. 저는 2014 년 초 에이 코드의 개발을 시작했습니다. 이것은 일반적으로 발생하는 소프트웨어 개발 요구에 대한 유용한 클래스의 모음을 나타냅니다.
모든 코드는 적절한 커버리지로 단위 테스트를 거쳤으며 문제 없이이 코드 에서이 코드를 사용했습니다. 또한이 코드의 많은 부분과 상용 프로젝트에서 저에게 작성된 유사한 코드의 많은 부분을 사용했으며 종종 (소프트) 실시간 요구 사항이있는 문제가 없었으므로 라이센스를 준수하는 한 상용 프로젝트에서 자유롭게 사용할 수 있습니다.
필요한 경우 버그를 수정하고 코드를 개선하지만 이런 일이 얼마나 자주 발생하는지 보장하지 않습니다. 나는 사용하는 동안 발생하는 모든 문제에 대한 보증이나 지원을 제공하지 않습니다. 당신이 정말로 갇혀 있다면, 제공된 주소로 이메일을 보내 주시고 시간이 있다면 문제를 도와 주거나 문제를 해결하려고 노력할 것입니다.
코드는 doxygen 스타일 주석을 사용하여 주석을 달 수 있으므로/docs/html/폴더의 문서를 확인하고 선택한 브라우저에서 index.html을 엽니 다.
사용 예제의 경우 /unittests /googletests 폴더에서 단위 테스트 코드를 살펴 보는 것이 좋습니다.
네트워킹 장치 테스트에는 네트워크 연결이 필요하며 2 개의 어댑터 설정, 하나는 10.34.6.1/255.255.0.0에, 다른 하나는 10.35.6.1/255.255.0.0에 있습니다. 이들은 "가상"루프백 어댑터 또는 물리적 네트워크 어댑터 일 수 있지만 멀티 캐스트 그룹을 테스트하고 UDP 방송을 방송하기 위해 사용자는 방화벽과 보안 설정을 적절하게 구성해야합니다.
자세한 정보와 예는 Wiki를 참조하십시오.