我正在考虑一个程序的两个选项。无论是C++与Boost异步IO或Java与异步NIO。我知道只要系统具有Java运行时,Java就是可移植的。我宁愿使用C++和Boost,但我不确定我编写的程序是否可以移植到不同的Windows计算机并仍然运行。我需要做些什么来确保程序在运行时具有所有必需的依赖关系?我计划只使用windows.h,C++ 2003标准和Boost库。Boost Windows程序是否可移植到其他Windows系统?
3
A
回答
3
只要你使用Boost,C++标准库(和CRT,如果你觉得你必须的话),你的代码将非常容易移植。
请确保您避免使用任何微软CRT扩展程序,例如str*_s
函数(例如here) - 不幸的是,MSDN不会很好地将它们标记为非标准。
还要避免在Visual C++ v10中使用C++ 0x功能以最大限度地提高短期内的可移植性 - 或者检查您打算使用的其他编译器是否具有您计划使用的功能。
小心:如果您使用了一堆windows.h
中的东西,那么您将会破坏可移植性并增加您需要执行的工作。如果您希望稍后再移植,尽可能避免这种情况,并且如果您确实需要从那里获取任何内容,请尝试将不同的“我需要在更改此端口时更改此属性”标题和代码文件中的用法隔离开来,以便您知道您在移植到另一个操作系统时只需查看代码的子集。
6
boost和CRT可以静态链接到您的可执行文件,所以根本不会有任何外部依赖。
相关问题
- 1. 程序可移植性问题(Windows XP到Windows 7)
- 2. 是否有可能将Windows Phone 7.0 Silverlight类库移植到Windows 10移动中
- 3. 将Windows软件移植到嵌入式/实时操作系统
- 4. 将Windows窗体应用程序移植到Windows Phone 7.5 Mango
- 5. 将Windows-CE应用程序移植到Windows桌面
- 6. UWP应用程序可以移植到Windows 7吗?
- 7. 将windows服务移植到windows azure
- 8. 从Linux移植到Windows,tm.sys
- 9. 从ios移植到windows
- 10. 将Windows 8 Metro应用程序移植到Windows 10通用应用程序
- 11. Windows Azure - 可移植性和迁移?
- 12. 将基于Windows的安装程序扩展到其他操作系统
- 13. 是否有一个可移植的C编译器的Windows?
- 14. 如何将可移植程序添加到Windows 10中安装的程序?
- 15. Windows系统编程
- 16. 如何在Windows 7上移植Windows 8应用程序
- 17. 是否将基于QML的应用轻松移植到Windows Phone?
- 18. Sigaction并将Linux代码移植到Windows
- 19. 使用jsc编译的Windows应用程序的可移植性
- 20. 是否可以将iOS应用程序移植到Android?
- 21. 是否可以将WPF Prism应用程序移植到Metro
- 22. 构建系统和可移植性
- 23. 如何将Windows服务安装到其他系统?
- 24. 将OpenGL应用程序移植到Mac OS:X11,可可或其他选择?
- 25. 移植/迁移Windows Phone 8.1项目到Windows 10 UWP项目
- 26. 将应用程序从Windows Phone Silverlight移植到Windows 10 - 最佳方式
- 27. 如何将Windows Mobile 6.5上的应用程序代码移植到Windows Phone 7?
- 28. 将COM +应用程序从Windows 2003移植到Windows 2008服务器的问题
- 29. 可移植的JDK,Tomcat和Eclipse(Windows)
- 30. 使用wxWidgets将X/Motif GUI应用程序移植到Windows
哦,因为boost库是可移植的,所以它应该能够静态链接并在Mac OS X上构建XCode上的可执行文件应该在Windows上运行(只要在链接之前处理非可移植库)...... ? – Aaron 2010-12-01 18:02:14
在你的问题中,你会谈论不同的Windows平台,但现在你对在Windows平台上运行的Mac OS中创建可执行文件发表评论。你最初的意思是不同的操作系统?这会在一定程度上改变答案,尽管在一定程度上可以使用基本类似的代码库。 – Bart 2010-12-01 18:16:01