Linux和MSVC Win32上的C ++中的模板类实现之间的差异

时间:2010-03-31 19:07:20

标签: c++ linux templates winapi

我正在尝试移植一些旧的Linux代码以在Windows上运行,并且遇到了大量的编译器错误,这些错误似乎源于模板类的大量使用。对于Linux和MSVC,必须如何实现模板之间是否存在任何显着差异?如果是这样,有人可以概述实际上有什么不同吗?我发现了很多文档,但实际上并没有说明差异是什么。

2 个答案:

答案 0 :(得分:3)

C ++语言由C ++标准定义 - 它不是特定于操作系统的东西。标准的实现程度因编译器而异,而不是从OS到OS。

话虽如此,如果它是非常旧的代码,您可能会发现Windows和Linux上的现代编译器都无法编译它。这是因为这些现代编译器在遵守C ++标准方面更加严格,并且删除了早期和不太合规的编译器可以放弃的代码。

底线 - 您需要按照自己的条件解决每个错误。或者可能是垃圾代码,如果真的那么老了。

答案 1 :(得分:1)

在Windows和Linux上使用的编译器版本上依赖很多。所以我认为唯一的方法就是逐个修复错误。