#ifdef 2

C언어 운영체제별로 조건부 컴파일하기

지난 포스팅에서 #ifdef를 이용해서 운영체제의 비트 수(32bit vs 64bit)에 따른 조건부 컴파일 방법에 대해 알아봤다. 운영체제의 비트 수 외에도 C언어는 운영체제(OS)마다 지원하는 API나 헤더 파일이 다르다는 점을 고려해서 코드를 짜야 한다. (예를 들면 윈도우에서는 windows.h를 써야 하고, 리눅스에서는 unistd.h를 쓰는 식)이럴 때 조건부 컴파일을 이용하면 코드 수정 없이 컴파일러가 알아서 해당 OS용 코드를 골라내게 할 수 있다.1. 조건부 컴파일 개념조건부 컴파일은 전처리기(Preprocessor) 단계에서 이루어진다.컴파일러가 실제 기계어로 번역하기 전, #ifdef나 #if 같은 지시문을 보고 "이 부분은 포함하고, 저 부분은 버려라"라고 판단하는 것이다.운영체제마..

C언어 조건부 컴파일: #ifdef

프로그래밍을 하다 보면 운영체제의 비트 수(32bit vs 64bit), 혹은 디버그 모드와 릴리스 모드 등 특정 개발 환경에 따라 코드를 다르게 실행해야 할 때가 있다.이때 유용하게 사용할 수 있는 것이 바로 전처리기 지시자인 #ifdef이다.#ifdef는 "if defined"의 약자로, 특정 매크로가 정의되어 있는지에 따라 코드의 컴파일 여부를 결정한다.이를 통해 하나의 소스 코드로 다양한 환경에 대응하는 유연한 설계를 할 수 있다. 1. #ifdef의 기본 사용법과 동작 원리#ifdef는 특정 매크로가 정의되어 있는지 확인하고, 정의되어 있다면 #endif를 만날 때까지의 코드를 컴파일 과정에 포함시킨다. 기본 문법:#ifdef 매크로이름 // 매크로가 정의되어 있을 때만 실행될 코드#els..