c언어 여러가지 전처리기와 매크로, 다중 소스 파일을 이용하여 여러 가지 문제 풀기(ASSERT 매크로 작성하기, 비트 매크로 작성하기, 여러가지 버전 정의하기(디럭스 버전과 스탠다드 버전 정..
c언어 여러 가지 전처리기와 매크로, 다중 소스 파일을 이용하여 여러 가지 문제 풀기(ASSERT 매크로 작성하기, 비트 매크로 작성하기, 여러 가지 버전 정의하기(디럭스 버전과 스탠더드 버전 정의하기), 리눅스 버전과 윈도 버전 분리하기, 헤더 파일 중복 포함 막기, 전처리기 사용해서 원의 면적 구하기) 네 안녕하세요, 이번 포스팅에서는 지금까지 배웠던 전처리기들과 매크로, 그리고 다중 소스 파일을 이용하여 여러 가지 문제들을 풀어보는 시간을 가져보려 합니다. 매크로를 거는 것과 다중 소스 파일을 다루는 것은 매우 중요한 부분들 중 하나이므로, 잘 알아두셔야 합니다. 그럼 지금부터 시작하도록 하겠습니다. 1. ASSERT 매크로 작성하기 ASSERT 매크로는 프로그램을 디버깅할 때 자주 쓰이는 매크로입..
2023. 2. 22.
c언어 #if, #else, #elif, #endif에 대하여 알아보기
c언어 #if, #else, #elif, #endif에 대하여 알아보기 네 안녕하세요, 이번 포스팅에서는 #if, #else, #elif, #endif에 대하여 알아보도록 하겠습니다. 이전 포스팅에서 배웠던 #ifdef와 같이 조건부 컴파일을 하는 전처리기들인데요, 이들에 대하여 좀 더 자세하게 알아보는 시간을 가져보도록 하겠습니다. 그럼 지금부터 시작하겠습니다. 1. #if의 조건부 컴파일 #ifdef의 경우는 매크로의 값은 상관하지 않았지만, #if의 경우는 매크로의 값에 따라서 컴파일 여부를 결정합니다. 그리고 #if는 우리가 잘 쓰는 if문과 비슷하게 관계 연산자나 논리 연산자를 쓸 수 있습니다. 그리고 그 조건은 상수 수식이어야 합니다. 예를 들자면 이렇게 할 수 있겠네요. #if DEBUG =..
2023. 2. 21.