Есть ли определение препроцессора, которое определяется, если компилятор MSVC? - PullRequest
38 голосов
/ 01 мая 2011

Так что я могу сделать что-то вроде

#ifdef MSVC
//do compiler specific code here
#endif

Ответы [ 4 ]

81 голосов
/ 01 мая 2011

Это _MSC_VER. Больше информации на MSDN и на пред. .

Но учтите, что некоторые другие компиляторы могут также определять его, например, Компилятор Intel C ++ для Windows также определяет _MSC_VER. Если это проблема, используйте #if _MSC_VER && !__INTEL_COMPILER.

11 голосов
/ 01 мая 2011

Посмотрите список предопределенных макросов MSVC . Вы найдете то, что вам нужно.

_MSC_VER, вероятно, хороший.

1 голос
/ 01 мая 2011

_MSC_VER - это один такой предопределенный макрос .

1 голос
/ 01 мая 2011

_MSC_VER должно соответствовать вашим потребностям

...