
4편: DECLARE_PROPERTY – 반복되는 getter/setter 자동화객체지향에서 캡슐화는 중요한 원칙입니다.하지만 private 멤버 + public getter/setter 패턴은 너무 반복적이라 지겹죠.그래서 등장하는 것이 DECLARE_PROPERTY 같은 매크로입니다.😫 반복되는 getter/setterclass Person {private: std::string m_name;public: const std::string& GetName() const { return m_name; } void SetName(const std::string& name) { m_name = name; }};위 코드를 모든 속성마다 계속 작성한다면 생산성이 떨어지고, 실수도 많아집니다.?..

📌 시리즈 개요C++ 코드를 작성할 때 자주 반복되는 패턴이나, 명시적인 의도 표현을 위해 매크로를 사용하는 경우가 많습니다. 이 시리즈에서는 실무에서 자주 사용하는 매크로들을 하나씩 소개하며, 언제, 왜, 어떻게 사용해야 하는지를 설명합니다.반복되는 코드는 버그의 온상이다. 하지만 잘 설계된 매크로는 우리의 날개가 된다.🧩 시리즈 목록🔹 1편: UNREFERENCED_PARAMETER – 사용하지 않는 매개변수를 안전하게 무시하기Visual Studio에서 발생하는 경고 제거 방법코드의 의도를 명확히 하기 위한 실전 예제Windows/Linux 호환을 위한 정의 방법1편: UNREFERENCED_PARAMETER – 사용하지 않는 매개변수 안전하게 무시하기🔹 2편: SAFE_DELETE / SA..

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 ..

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..
리눅스 타이머 방식 정리 및 비교표1. 리눅스에서 사용 가능한 타이머 방식리눅스에서는 다양한 방식으로 주기적인 작업을 수행할 수 있습니다. POSIX 타이머, sleep, pthread, alarm 등 여러 방식이 존재하며, 각각의 방식은 성능과 사용 용도에 따라 적합성이 다릅니다.2. 리눅스 타이머 방식 및 예제 코드1. POSIX 타이머 (timer_create)설명: 고정밀 타이머로, SIGEV_THREAD 옵션을 사용해 타이머 만료 시 별도의 스레드에서 콜백이 실행됩니다.#include #include #include void timer_handler(union sigval sv) { printf("Timer expired! Data sent.\n");}void create_timer() {..

1. Red Hat 환경 준비1.1 필수 패키지 설치다음 명령으로 개발에 필요한 도구와 라이브러리를 설치합니다:sudo yum groupinstall "Development Tools"sudo yum install gcc gcc-c++ cmake ninja-build gdb zlib-devel openssl-devel boost-devel sqlite-devel libstdc++-devel 최신 GCC 버전(GCC 12 이상)을 설치하려면:sudo yum install gcc-toolset-12scl enable gcc-toolset-12 bash 1.2 PATH 설정환경 변수 PATH에 최신 도구 경로를 추가합니다:export PATH=/opt/rh/gcc-toolset-12/root/usr..
- Total
- Today
- Yesterday
- 현포다이브
- Windows
- Build
- 서귀포
- DLL
- 리눅스
- C#
- ip
- 윈도우
- 울릉도
- Thread
- 제주도
- 블루버블
- 암호화
- 패턴
- C++
- 성산블루버블
- 블루버블다이브팀
- 서귀포블루버블
- Linux
- 스쿠버다이빙
- C#.NET
- CMake
- PowerShell
- C# 고급 기술
- C
- 외돌개
- ReFS
- 블루버블다이빙팀
- OpenSource
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |