有什么方法可以判断我的代码是否正在使用 cl.exe 进行编译?
以前可能有人问过这个问题,但我找不到。
有没有办法在编译时确定我的代码是否由 cl.exe 编译?
我将使用它有条件地包含(在预处理期间,通过 #ifdef
)仅受 cl.exe
支持的某些 #pragma
指令。
This has probably been asked before, but I couldn't find it.
Is there a way to determine, at compile time, if my code is being compiled by cl.exe
?
I will be using this to conditionally include (during preprocessing, via #ifdef
) certain #pragma
directives only supported by cl.exe
.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您想决定
cl.exe
版本,请使用_MSC_BUILD
。不过,请首先检查
_MSC_VER
,因为_MSC_BUILD
在 VS 2005 中不可用。If you want to make decisions on the
cl.exe
version, use_MSC_BUILD
.However, first check for
_MSC_VER
, because_MSC_BUILD
was not available in VS 2005.我认为您可以检查
_MSC_BUILD
宏。I think you can check for the
_MSC_BUILD
macro.