* compiler가 Linux, Window등 OS를 detect하는 방법 (header / cpp 중간부분에서 먹힘)
#ifdef _WIN64
//define something for Windows (64-bit)
#elif _WIN32
//define something for Windows (32-bit)
#elif __APPLE__
#elif __linux
// linux
#elif __unix // all unices not caught above
// Unix
#elif __posix
// POSIX
#endif * 참조, 보다 자세한 링크
#ifdef _WIN64
//define something for Windows (64-bit)
#elif _WIN32
//define something for Windows (32-bit)
#elif __APPLE__
#elif __linux
// linux
#elif __unix // all unices not caught above
// Unix
#elif __posix
// POSIX
#endif * 참조, 보다 자세한 링크
* 하지만 stdafx.h와 같이 cpp파일 맨처음에 나오는 것은 위에 것으로도 detect못함.
이럴경우는 stdafx.h를 가짜로 만들어서 linux에서 사용하는 방법밖에는 없음.
* 참조
이럴경우는 stdafx.h를 가짜로 만들어서 linux에서 사용하는 방법밖에는 없음.
* 참조
* 결국 추천하는 방법
header의 경우, 위의 방법(#ifdef _WIN32 ~~ #endif)으로 해결
cpp의 경우, 특히 #include "stdafx.h"의 경우는 dummy를 만들어서 링크하도록 하고, windows의 진짜 stdafx.h의 경우 #ifdef _WIN32 ~본문~ #endif로 감싸서 windows에서만 실행되도록 만듦. or src코드를 stdafx.h와 별도로 만들어도 됨.