Linux, Windows, Mac OS에서 컴파일해야하는 크로스 플랫폼 코드를 작성 중입니다. Windows에서는 Visual Studio와 mingw를 지원해야합니다.
#ifdef .. #endif
환경에 배치해야하는 플랫폼 별 코드가 몇 가지 있습니다. 예를 들어, 여기에 win32 특정 코드를 배치했습니다.
#ifdef WIN32
#include <windows.h>
#endif
그러나 Linux 및 Mac OS를 어떻게 인식합니까? 사용해야하는 정의 이름 (또는 기타)은 무엇입니까?
3
다음은 OS 매크로 정의 목록 입니다.
—
OCaml 2012
속임수는 훨씬 더 잘 받아 들여지는 대답을 가지고 있습니다.
—
rubenvb
제안 된 중복은 같은 질문이 아닙니다. 이 질문은 운영 체제를 식별하는 것에 대해서만 묻는 반면,이 질문은 컴파일러 식별에 대해서도 묻습니다. 이는 매우 다른 것입니다.
—
JBentley
@JBentley 아직 받아 들여진 대답은 컴파일러를 언급하지도 않고 OS (그리고 하나의 "플랫폼")에 대해서만 이야기합니다. 속임수가 제공하는 것에 비해 끔찍한 대답은 말할 것도 없습니다.
—
rubenvb
@rubenvb 그런 다음 다른 질문을 주석으로 연결합니다. 더 나은 답변이 있다고해서 중복되지는 않습니다. 질문은 답변이 아니라 중복 여부를 결정하는 것입니다. 이 질문을 닫는 것은 우리가 질문의 컴파일러 관련 부분에 대해 좋은 답변을 얻을 수 없다는 것을 보장 할뿐입니다. 소위 "중복"은 대답 할 수 없습니다.
—
JBentley