首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >#ifndef __GNUC__卡住我

#ifndef __GNUC__卡住我
EN

Stack Overflow用户
提问于 2020-09-04 10:34:14
回答 2查看 109关注 0票数 2

这个问题可能很奇怪,我目前正在写一些旧代码(不是我写的)。我实际上不是C程序员,但我正在尝试理解这部分代码实际上应该做什么。幸运的是,奇怪的部分不会太长(配置的一部分):

代码语言:javascript
复制
int
main ()
{
#ifndef __GNUC__
       choke me
#endif

  ;
  return 0;
}

如果它不是一个GNU编译器,那么"choke me"...what就是这个choke me的意思……我真的不明白。(在谷歌搜索时只发现了一些奇怪的东西-)

EN

回答 2

Stack Overflow用户

发布于 2020-09-04 10:36:06

它只是被认为是无效的C语言,并会触发语法错误,阻止文件编译。

想必程序员并不打算让代码与除GNU (gcc)之外的任何编译器一起工作,因此如果使用其他编译器,这将迫使构建失败。所选择的词没有特别的意义,除了“卡住我”的意思可能是“这是编译器不能‘吞下’的东西,它会杀死它”。

更现代的方法是使用#error

票数 3
EN

Stack Overflow用户

发布于 2020-09-04 10:36:38

这是一个无效的语句,因此会导致错误。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63734039

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档