满意答案

wcctf05

2015.05.22

采纳率:58%    等级:8

已帮助:414人

是的,就是编译器选择。

参考以下内容

Compiler name and version macros are predefined by all C/C++

compilers to enable #if/#endif sets around compiler-specific code,

such as inline assembly, compiler-specific intrinsics, or special language

features. This can be necessary in high-performance code that aims at using the

best performance tricks available for each compiler. This article

surveys common compilers and shows how to use predefined macros to detect the

compiler name and version at compile time.

How to detect the compiler name

Compiler name macros indicate a specific compiler, such as Intel ICC or

Microsoft Visual Studio. There are exceptions. See the notes after the

table.

#if defined(__clang__)

/* Clang/LLVM. ---------------------------------------------- */

#elif defined(__ICC) || defined(__INTEL_COMPILER)

/* Intel ICC/ICPC. ------------------------------------------ */

#elif defined(__GNUC__) || defined(__GNUG__)

/* GNU GCC/G++. --------------------------------------------- */

#elif defined(__HP_cc) || defined(__HP_aCC)

/* Hewlett-Packard C/aC++. ---------------------------------- */

#elif defined(__IBMC__) || defined(__IBMCPP__)

/* IBM XL C/C++. -------------------------------------------- */

#elif defined(_MSC_VER)

/* Microsoft Visual Studio. --------------------------------- */

#elif defined(__PGI)

/* Portland Group PGCC/PGCPP. ------------------------------- */

#elif defined(__SUNPRO_C) || defined(__SUNPRO_CC)

/* Oracle Solaris Studio. ----------------------------------- */

#endif

00分享举报

c语言编译defined,#if defined(__GNUC__)的意思是不是如果使用的是GCC编译器?相关推荐

  1. linux系统c 如何使用教程,基于Linux操作系统的C语言编译和调试方法解析

    摘 要:文章先介绍了GCC编译器相关内容,包括GCC编译程序和GCC编译选项,随后介绍了GDB调试程序相关内容,包括GDB具体操作和GDB基础命令,最后介绍了C语言编写中的注意事项,希望能给相关人士提 ...

  2. vs编译器 printf 控制台输出_【语言教程】通过语言了解GCC编译器工作过程

    通过c语言了解GCC编译器如何工作的 比特 下面是c语言初学必看的打印helloworld #include int main(){ printf("hello, world\n" ...

  3. c语言编译错误 原文,C语言常见错误与警告

    C语言常见错误与警告 C语言常见错误与警告C语言常见错误: 1 invalid type argument of '->' (have 'struct qstr_xid_element') 这种 ...

  4. GCC 使用-C语言编译过程

    任何一种高级语言,要想在机器上执行,必须翻译为机器能读懂的机器语言.编译器就相当于翻译官,将高级语言翻译为机器语言. GCC 最初只用了编译 C 语言程序,全称是 GNU C Compiler.后来扩 ...

  5. c语言编译常见错误提示,c语言编译常见错误

    c语言编译常见错误 (2012-04-17 21:33:53) 标签: 杂谈 分类: 计算机 1."c" not an argument in function sum 该标识符不 ...

  6. c语言编译预处理指令大全,C语言预处理指令

    「今天是学习C语言第 32 天」 当你选择了一种语言,意味着你还选择了一组技术.一个社区.--Joshua Bloch # 预处理 C语言源程序先经过预处理器进行预处理,之后经过编译器编译成二进制可执 ...

  7. C语言编译全过程(转贴)

    C语言编译全过程 编译的概念:编译程序读取源程序(字符流),对之进行词法和语法的分析,将高级语言指令转换为功能等效的汇编代码,再由汇编程序转换为机器语言,并且按照操作系统对可执行文件格式的要求链接生成 ...

  8. 【转载】C语言编译全过程

             今天在blog.chinaunix.net/u3博客看到一篇关于语言编译过程的文章,觉得精简,清晰所以摘录下来我的blog.作为一个程序员了解编译过程对程序的编写也很有帮助.下面是博 ...

  9. 以Linux系统上的gcc为例,解密C语言编译背后的全过程!

    在这个互联网时代,很多人都选择了计算机专业,而只要是计算机专业的小伙伴,可能都会学C语言,但是大家是否都清楚C语言编译的完整过程呢,今天我就带着大家一起来做个解密吧. C语言相对于汇编语言是一种高级语 ...

  10. 2.c语言编译预处理,c语言第03章-编译预处理2.ppt

    c语言第03章-编译预处理2 第3章 编译预处理 编译预处理是指,编译时,首先对编译预处理命令进行处理,然后再将预处理后的中间结果进行编译,以得到目标代码. 教学目的: 掌握#define.#incl ...

最新文章

  1. 8-7复习 stl常用算法
  2. JVM实战与原理--前言及索引
  3. 常数时间插入、删除和获取随机元素
  4. redis学习-redis五大数据类型
  5. Eve-NG-Toolkit
  6. Python中的join函数
  7. ntko web firefox跨浏览器插件_Web浏览器如何使用进程和线程
  8. 算法:回溯解决电话拨号中的字母组合Letter Combinations of a Phone Number
  9. postfix疯狂外发垃圾邮件之分析与解决(下)
  10. iconfont图标本地使用
  11. linux配置基于pptp的多用户多出口ip的vpn,PPTP配置多ip出口vpn
  12. Docker可视化工具——Portainer全解
  13. 如何安装微信解决小黑块问题(一定可以使用)
  14. word生成电子签名
  15. 一堆Offer怎么选?这样做就不纠结了
  16. 看一遍都懂的数组遍历~确定不试试?
  17. linux添加windows字体文件夹里,如何把Windows下的字体添加到Linux中
  18. 通过LRC文件分析出一首歌曲的速度
  19. 网络共享怎样改自己的计算机名字,局域网共享设置|如何设置局域网共享
  20. 企业级架构apache/PHP/tomcat架构应用实战-高俊峰-专题视频课程

热门文章

  1. 常用输出设备——打印机、显示器与显示卡、声音和力反馈
  2. 赫茨伯格的双因素理论(转载)
  3. 点击页面出现富强民主,文明和谐之类的文字
  4. java单链表中temp=temp.next的理解
  5. coffe的前端界面图(css+html)
  6. 历代治国理政者的教科书——金木水火土的起源之书:周朝的统治大法——《洪范》...
  7. 最好的输入法--陈桥五笔5.806(绿色可自动卸载版)
  8. 【HTML】使用Vscode快速书写HTML
  9. LED驱动程序的编写
  10. 菜鸟渗透日记35---python渗透测试编程之身份认证攻击1-密码字典