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

🔍 UNREFERENCED_PARAMETER 매크로를 꼭 써야 하는 이유"이 매개변수 안 쓰는데… 지워도 되나?""경고가 자꾸 뜨네? 어떻게 없애지?"이런 고민, 한 번쯤 해보셨죠?C/C++ 코딩을 하다 보면 함수 시그니처에 선언된 매개변수를 사용하지 않는 경우가 종종 생깁니다.이럴 때 등장하는 게 바로 👉 UNREFERENCED_PARAMETER(x) 매크로입니다.⚠️ 문제 상황void OnEvent(int eventCode, void* pContext){ // 아직 pContext를 사용하지 않음 HandleEvent(eventCode);}Visual Studio에서는 이렇게 경고가 뜹니다:warning C4100: 'pContext': unreferenced formal paramet..

namespace util { class CryptoUtil { DECLARE_NO_COPY_CLASS( CryptoUtil ); public: CryptoUtil() = default; ~CryptoUtil() = default; static std::string GetMD5Hash( const std::string& _ssInput ); static std::string GetSHA256Hash( const std::string& _ssInput ); static std::string GetSHA512Hash( const std::string& _ssInput ); static std::string GetSHA1Hash( const std::string& _ssInput ); stati..
리눅스 C++ Signal 핸들러 클래스 (멀티스레드 기반) 1. 개요 이 문서는 리눅스 환경에서 시그널 처리 전용 클래스를 만들고, 별도의 스레드에서 안전하게 시그널을 처리하는 구조를 설명합니다. 2. 핵심 설계 시그널과 콜백을 등록하는 유연한 클래스 구조 핸들링은 별도 스레드에서 sigwaitinfo()로 처리 메인 스레드는 자유롭게 동작 가능 3. 클래스 헤더: SignalHandler.hpp #pragma once#include #include #include #include #include #include class SignalHandler {public: using Callba..

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 ..
리눅스 (RHEL, CentOS 등) 버전 정보 확인 방법 리눅스 시스템에서 Red Hat Enterprise Linux(RHEL), CentOS, Rocky Linux, AlmaLinux 등의 버전 정보를 확인하려면 아래 명령어들을 사용하면 됩니다. 1. /etc/os-release 파일 확인 가장 표준적이고 많이 쓰이는 방법입니다. cat /etc/os-release 💡 대부분의 최신 리눅스 배포판에서 이 파일이 존재합니다. 2. hostnamectl 명령어 시스템 정보와 함께 OS 버전 정보를 출력합니다. systemd 기반 배포판에서 지원됩니다. hostnamectl 3. lsb_release 명령어 일부 리눅스에서는 lsb-release 패키지를 설치하면..
- Total
- Today
- Yesterday
- 윈도우
- PowerShell
- 암호화
- Linux
- 리눅스
- 블루버블다이브팀
- 울릉도
- 디자인패턴
- ip
- 스쿠버다이빙
- 블루버블다이빙팀
- OpenSource
- 블루버블
- ReFS
- C#.NET
- Build
- C++
- Windows
- C#
- 패턴
- C
- 성산블루버블
- DLL
- Thread
- C# 고급 기술
- 서귀포블루버블
- 서귀포
- 제주도
- CMake
- 현포다이브
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |