2010-03-31 62 views
0

我試圖移植一些舊的Linux代碼在Windows上運行,並且正在運行到一大堆編譯器錯誤,這些錯誤似乎是源自大量使用模板類。 Linux和MSVC之間的模板必須實現嗎?如果是這樣,有人可以概述實際上有什麼不同嗎?我發現了很多文檔,但沒有任何文字能夠真正地說明差異。在Linux和MSVC上的C++中的模板類實現之間的區別Win32

+2

你可以發佈代碼和錯誤的樣本? – UncleBens 2010-03-31 19:12:02

+2

這聽起來像是GCC vs MSVC問題,而不是Linux vs Windows問題。順便說一下,有一個叫做MinGW的Windows GCC端口:http://www.mingw.org/ – Will 2010-03-31 19:14:44

+1

如果你對MinGW感興趣,可以使用http://tdragon.net/recentgcc/ – 2010-03-31 19:23:39

回答

3

C++語言由C++標準定義 - 它不是特定於操作系統的東西。標準的實施程度因編譯器而異,而不是從操作系統到操作系統。話雖如此,如果它是非常古老的代碼,您可能會發現Windows和Linux上的現代編譯器不會編譯它。這是因爲這些現代編譯器在遵守C++標準方面更加嚴格,並且挑出了代碼,認爲較早和較不兼容的編譯器會讓它們滑動。

底線 - 您需要根據自己的條件解決每個錯誤。或者可能垃圾代碼,如果它真的很老。

1

這將取決於很多在Windows和Linux上使用的編譯器版本。所以我認爲唯一的辦法就是逐個修改錯誤。

相關問題