• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
小比丘
博客园    首页    新随笔    联系   管理    订阅  订阅
2012年7月21日
GCC默认的标准不是ANSI C,而是GNU C90
摘要: 我以前以为GCC默认的C标准是ANSI C,但是看了文档才知道默认标准是C90 with GNU extensions。"extensions"有那些?看这里:http://gcc.gnu.org/onlinedocs/gcc/C-Extensions.html#C-Extensions如果想要返璞归真,只遵循ANSI C,编译时加上-ansi选项即可(再加-pedantic选项,确保编译器使用该标准)。加上这个选项后,你会发现好多平时无错的地方,编译时却出错。最普遍的错误是"// 开头的单行注释",因为它在ANSI C中是不允许的,所以整行报错。来看一 阅读全文
posted @ 2012-07-21 05:14 小比丘 阅读(3335) 评论(2) 推荐(2)
VC++ 2010对C99的支持
摘要: VC++支持ANSI C毋庸置疑,不过对于是否支持C99,我倒看到两种说法:1. 不支持C99.http://en.wikipedia.org/wiki/Visual_C%2B%2B#Issues2. 支持C99的个别特性.http://en.wikipedia.org/wiki/ANSI_C#Compilers_supporting_ANSI_Chttp://social.msdn.microsoft.com/Forums/pl-PL/vclanguage/thread/8c3ce91d-e4bc-4a95-a122-b19cac1e94aa到底是神马情况? 我试验了VC++ 2010,可以 阅读全文
posted @ 2012-07-21 04:18 小比丘 阅读(5872) 评论(0) 推荐(0)
C/C++预定义宏
摘要: 写在前面:这是我看一些资料然后总结的,肯定会有出入。不妥之处,望多批评指正。预定义宏,顾名思义,就是事先已经定义好的宏。有两个特性:无需提供它们的定义,就只可以直接使用。预定义宏没有参数,且不可被重定义。预定义宏一般分为两类:标准预定义宏,编译器预定义宏。1 标准预定义宏(Standard Predefined Macros) 标准预定义宏由相关语言标准指定。因此所有使用该标准的编译器都可以使用这些宏。ANSI C指定了以下预定义宏:__FILE____LINE____DATE____STDC____TIME____TIMESTAMP__ C99在__FILE__、__LINE__的之外... 阅读全文
posted @ 2012-07-21 01:00 小比丘 阅读(2670) 评论(0) 推荐(1)
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3