博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
gcc编译器小知识FAQ(转)
阅读量:2509 次
发布时间:2019-05-11

本文共 1246 字,大约阅读时间需要 4 分钟。

gcc编译器小知识FAQ(转)[@more@]我收集了一些gcc相关的知识,提供给没时间或者没兴趣了解gcc太多细节知识的朋友。但是这些知识确实又是作为一个gcc使用者应该知道的。
Q:gcc的全称是什么:
A: gcc 是 gnu compiler collection(gnu 编译器套装),它不仅仅只是编译c语言的编译器,它提供了对c、面向对象的c(object c), C++, java, Ada 语言的编译服务。 过去有一段时间,它被成为gnu C compiler是因为它最初的开发目的的确是只提供了c编译功能,但是现在已经不在是这样了。
Q:gcc 和g++什么关系
A:事实上只有一个C++编译器,那就是g++。g++不仅仅是一个C++预处理器,而是一个实实在在的C++编译器。由于它的名字 GNU C++ Compiler 也能缩写成GCC,所以有时候有人叫它gcc也并不错。而我们通常所说的gcc是一个编译器套装,gcc命令只是一个调用各个实际编译器的快捷方式而已。
Q:gcc所支持的C语言规范有哪些
A: 目前主要的C语言规范有c89(c90), c95(94)和c99。C89是最早的C语言规范,于89年提出,90年先由美国国家标准局推出ANSI版本,后来被接纳为ISO国际标准 (ISO/IEC 9899:1990),因而有时也称为c90。 但在94和96年分别对c90进行了两次错误修正,gcc支持的是修正后的c89(90)版本的C语言规范。在95年提出过对90版规范的修订案,称为C95或者AMD1。gcc也支持c95规范。最新的一次C规范修订在99年制定(ISO/IEC 9899:1999),即常称的C99规范。在2001年对C99的错误进行了修正,gcc支持的修正后的c99规范,但是到目前为止,gcc还没有完成对c99规范的完全支持。
在默认设置下,gcc对c语言进行了一些自己的扩展。在不加语言设置参数的情况下,gcc使用c89规范和自己的一些扩展。在将来如果gcc完成了对c99的全面支持,可能默认会使用c99规范加gcc自己的扩展。
gcc下的语言规范设置:
-std=iso9899:1990,-ansi或-std=c89 (三者完全等同)来指定完全按照c89规范,而禁止gcc对c语言的扩展。
-std=iso9899:199409 使用C95规范
-std=c99 或者 -std=iso9899:1999 使用C99规范。
-std=gnu89 使用c89规范加上gcc自己的扩展(目前默认)
-std=gnu99 使用c99规范加上gcc自己的扩展

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10617731/viewspace-950191/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10617731/viewspace-950191/

你可能感兴趣的文章
猜年龄游戏
查看>>
博客园在线运行及一键转载
查看>>
zigbee
查看>>
字符串 专题
查看>>
【Maven】---Linux搭建Nexus3.X私服
查看>>
睿智计数器
查看>>
1.celery概述
查看>>
洛谷 P1057 传球游戏
查看>>
DAY-5 Linux系统用户、群组和权限
查看>>
一、MongoDB的下载、安装与部署
查看>>
数据结构整理
查看>>
4基本动画
查看>>
10个小技巧助您写出高性能的ASP.NET Core代码
查看>>
JavaScript中的 JSON 和 JSONP
查看>>
字符串相关工具类
查看>>
iOS:图标尺寸
查看>>
项目冲刺,20151118
查看>>
O055、Detach Volume 操作
查看>>
MyBatis学习(3)
查看>>
otrs离线部署
查看>>