从Linux移植C++代码到Windows时需要注意哪些要点?

4

我开始移植一个涉及C++、Qt和MySql的项目代码。这些代码是为Linux编写的,我正在将它们移植到Windows。因此,我的问题是,在从Linux移植这些代码到Windows时,有没有一般性的注意事项需要记住?请在这里帮助我。


很多人都从路径、文字字面量、魔数和头文件开始学起。我建议阅读《C++陷阱》,以此来真正掌握这些内容。 - MartyE
Windows一直在努力保持任意不同,例如,最初的套接字支持是一个近似行业标准(BSD)的黑客,但自20年以来还没有修订以消除不一致性。必须调用函数来初始化IP子系统,必须使用关闭套接字的函数而不能使用适用于文件描述符的相同关闭函数,poll的差异,获取错误代码的不同方式等等。尽管如此,这仍然比Windows线程的移植工作少得多 - 完全不标准。 - Tony Delroy
1
@TonyDelroy “完全非标准”……嗯,同样的话也可以用来形容反过来的情况。还要记住,就在不久前,像线程这样的东西才被POSIX标准化。即使在POSIX平台上,仍然有几个“标准”:POSIX线程、C++11标准库线程和C11标准库线程。 - Some programmer dude
1
你可能会在SO上找不到帮助,因为Windows在[c++]标签中相当禁忌。Qt和MySql都是跨平台的,也可以在Windows上使用。如果你没有偏离标准C++和这些库太远,那么这应该只是一个重新编译的问题。编译器会告诉你需要解决哪些问题。 - Hans Passant
此外,您应该指定要使用的编译器。我已经很多年没有在Windows上积极开发C++了,但是从我的经验来看,移植到Visual C++非常麻烦,而移植到mingw则容易得多。 - Axel
1个回答

1

嘿,非常感谢。这些链接值得学习。再次感谢:) - SS Hegde
非常欢迎。我目前也在做完全相同的事情,我知道这可能会让人不知所措! - Jorel Estrada

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接