본문 바로가기
728x90

매크로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 !define.. 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, .. 2024. 1. 3.
728x90