什么C(98/03)功能不是很好的编译器支持?

前端之家收集整理的这篇文章主要介绍了什么C(98/03)功能不是很好的编译器支持?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
通常我会读取一些软件,删除一些C功能,以符合可怜/老/异国情调的C编译器.

This one只是我进入的最后一个:Box2D不使用命名空间,因为他们需要支持

poor C++ compilers where namespace support can be spotty

我可以想到的一个更大的例子是Qt,它依赖于MOC,限制了模板使用,并且避免了模板(而且,这至少对于Qt3和以前的版本来说是至关重要的,Qt4主要是为了遵守自己的惯例).

我想知道什么编译器是穷人?
lots of C++ compilers在那里(我从来没有听说过他们中的大多数),但我希望所有的人都支持最常见的(/简单的)C功能,如命名空间(除非他们死了);不是这样吗?

什么是最不受支持功能
我可以很容易地期待缺乏外部模板,也许模板部分专业化和类似功能.最多甚至是RTTI或例外,但我从来没有怀疑命名空间.

解决方法

在我的经验中,人们只是害怕新事物,特别是二十年前破坏的东西.在本世纪所写的任何东西中,没有任何有效的理由反对使用命名空间.

如果你正在寻找一些东西来折腾,那么如果你不是很久以前就是针对Windows,那么你不得不做更多的事情,而不仅仅是把C的功能抛出来,而不是使用它们,你必须使用不同的语法.模板被认为是VC中支持较差的功能之一.他们已经好多了,但仍然有时失败.

该特定编译器(STILL!)不支持的另一个编译器正在重载虚拟函数以将派生类型指针返回到使用MI时返回的基本版本的类型. VC只是很奇怪,你最终不得不做virtual_xxx()并提供非虚拟的“xxx()”函数来复制标准行为.

猜你在找的C&C++相关文章