본문 바로가기
반응형

매크로2

[c,c++] #ifndef 과 #if !define()의 차이점 #ifndef 과 #if !define()의 차이점#ifndef과 #if !defined()은 모두 전처리기 지시어로, 매크로의 정의 여부를 확인하는 데 사용됩니다. 그러나 두 지시어의 사용 방법에는 약간의 차이가 있습니다.#ifndef의 특징:읽기 쉽고 간결: #ifndef은 "만약 정의되어 있지 않다면"이라는 의미로 자연스러운 문법을 가지고 있습니다. 코드가 더 읽기 쉽고 간결할 수 있습니다.전통적인 사용: #ifndef은 전통적으로 많은 코드베이스에서 사용되어 왔기 때문에 익숙한 문법입니다.#ifndef 예제:#ifndef DEBUG_MODE#define DEBUG_MODE#endif#ifdef DEBUG_MODE// 디버그 모드에서 수행되는 코드#endif #if !defined()의 특징:더 유.. 2024. 1. 4.
[c,c++] 비트마스크 생성방법, 매크로 전처리기 ## 토큰결합연산 비트마스크 생성방법, 매크로 전처리기 ## 토큰결합연산전처리기 토큰 결합 연산자 활용 : 예) 비트마스크 생성 토클 결합 연산자를 사용하면 매크로의 유연성을 향상시키고, 다양한 설정에서의 코드 재사용성을 높일 수 있습니다. 이는 특히 큰 프로젝트에서 설정 및 조건에 따라 동적으로 코드를 생성해야 할 때 유용합니다. #define BIT_NAME_MSK(PeriName,RegName,BitName) (PeriName##RegName##BitName##Msk) BIT_NAME_MSK(A, B, C)를 호출하면 매크로는 다음과 같이 동작합니다:PeriName은 A로 대체됩니다.RegName은 B로 대체됩니다.BitName은 C로 대체됩니다.따라서 위의 매크로 정의에 따라 BIT_NAME_MSK(A, B, C).. 2024. 1. 3.
반응형