C++ 크로스 플랫폼 에러 처리 시스템 설계✅ 개요Windows의 GetLastError()와 같은 방식의 에러 핸들링 시스템을 C++로 구현합니다. 이 시스템은 다음을 포함합니다:Thread Local Storage 기반 에러 저장프로젝트 공통 에러 코드 정의에러 메시지 출력 (다국어 지원 가능)에러 로그 기록운영체제의 시스템 에러 코드 매핑1. ❌ 에러 코드 정의 - ErrorCode.hppenum class ErrorCode { OK = 0, UNKNOWN, INVALID_PARAM, NULL_POINTER, FILE_NOT_FOUND, TIMEOUT, NETWORK_FAIL, PERMISSION_DENIED, SYSTEM_ERROR,};2. TLS ..
C++에서 UTC ↔ KST 변환하는 방법C++에서 현재 시간을 UTC(세계 협정시) 및 KST(한국 표준시, UTC+9)로 변환하는 방법을 정리합니다.C++98 / C++03 (std::time)UTC 시간 가져오기#include #include int main() { std::time_t now = std::time(nullptr); std::tm* gmt = std::gmtime(&now); std::cout tm_year + 1900) tm_mon + 1) tm_mday tm_hour tm_min tm_sec KST (한국 표준시) 가져오기#include #include int main() { std::time_t now = std::time(nullptr); std::..
RAND 정리1. RAND 설명RAND는 난수를 생성하는 함수 또는 메커니즘으로, 소프트웨어 및 하드웨어에서 사용됩니다.목적: 난수는 보안, 시뮬레이션, 게임, 통계적 분석 등 다양한 분야에서 필요합니다.특징: 난수는 예측할 수 없어야 하며, 진정한 난수(TRNG)와 의사 난수(PRNG)로 나뉩니다.2. RAND 함수 종류 설명 (C++)std::rand (C 표준 라이브러리)std::random_device (C++11 이후)std::mt19937 (Mersenne Twister, C++11 이후)std::uniform_int_distribution (C++11 이후)RDRAND (Intel 하드웨어 명령어)RDSEED (Intel, AMD 하드웨어 명령어)3. RAND 함수별 C++ 예제#includ..
CFileMon 클래스 설계 및 구현개요CFileMon 클래스는 특정 파일의 변경 사항을 감지하며, Windows와 POSIX 환경 모두에서 작동하도록 설계되었습니다. Named Mutex를 활용하여 다중 프로세스 동기화를 보장하며, 파일이 삭제되거나 수정되는 상황에 안정적으로 대응합니다.주요 기능Windows 및 POSIX 환경 지원Named Mutex를 활용하여 다중 프로세스 동기화파일 변경 시 해시를 비교하여 변경 여부 감지파일이 삭제되거나 접근 불가한 경우 예외 처리주기적인 파일 상태 확인 (스레드 기반 구현)플랫폼별 구현WindowsNamed Mutex를 CreateMutexA로 생성WaitForSingleObject와 ReleaseMutex로 동기화 관리파일 존재 확인은 std::filesys..
IOCP, Boost.Asio, epoll 예제1. IOCP (Windows)플랫폼: Windows설명: IOCP는 Windows에서 제공하는 비동기 I/O 처리 메커니즘으로, 고성능 네트워크 서버를 구축할 때 사용됩니다.예제 코드:#include #include #include #include #include #pragma comment(lib, "Ws2_32.lib")struct ClientContext { OVERLAPPED overlapped; SOCKET socket; char buffer[1024];};void workerThread(HANDLE iocpHandle) { DWORD bytesTransferred; ULONG_PTR completionKey; LP..
IOCP, Boost.Asio, epoll 비교 1. IOCP (I/O Completion Port) 플랫폼: Windows 설명: Microsoft에서 제공하는 고성능 비동기 I/O 처리 기술로, 소켓, 파일, 파이프 등을 효율적으로 처리합니다. 주요 특징: 완료 기반 이벤트 모델 (비동기 작업 완료 시만 처리). 스레드 풀을 활용한 효율적인 CPU 사용. 수십만 개의 동시 연결을 처리할 수 있는 고성능. 2. Boost.Asio 플랫폼: 크로스 플랫폼 (Windows, Linux, macOS) 설명: Boost 라이브러리의 일부로, 고성능 비동기 I/O를 제공하며, 플랫폼별 메커니즘(IOCP, epoll 등)을 ..
- Total
 
- Today
 
- Yesterday
 
- C#
 - 다이빙
 - 성산블루버블
 - C++
 - 블루버블다이브팀
 - 제주도
 - Linux
 - 디자인패턴
 - 서귀포
 - 블루버블다이빙팀
 - 암호화
 - 서귀포블루버블
 - 현포다이브
 - 패턴
 - Thread
 - 울릉도
 - 양파다이브
 - PowerShell
 - 리눅스
 - 스쿠버다이빙
 - Windows
 - ip
 - DLL
 - OpenSource
 - Build
 - ReFS
 - 윈도우
 - C
 - RSA
 - 블루버블
 
| 일 | 월 | 화 | 수 | 목 | 금 | 토 | 
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 | 
| 9 | 10 | 11 | 12 | 13 | 14 | 15 | 
| 16 | 17 | 18 | 19 | 20 | 21 | 22 | 
| 23 | 24 | 25 | 26 | 27 | 28 | 29 | 
| 30 | 
