|
一、旧项目的升级与更新
根据官方手册:
”通常,我们建议您在安装最新版本的 Visual Studio 时更新您的项目。更新项目和代码的成本通常被新 IDE、编译器、库和工具的好处所抵消。但是,我们知道您可能无法更新某些项目。您可能有与旧库或平台相关联的二进制文件,出于维护原因,您无法升级。您的代码可能使用非标准语言结构,如果您迁移到更新的编译器,这些结构可能会中断。您的代码可能依赖于为特定版本的 Visual C++ 编译的第三方库。或者,您可以为必须针对特定旧版本 Visual C++ 的其他人生成库。
幸运的是,您可以使用 Visual Studio 来构建针对旧编译器工具集和库的项目。
当您使用较旧的工具集时,您可以利用许多最新的 IDE 功能,但不能利用 C++ 编译器、库和构建工具的最新进展。例如,您将无法使用新的语言一致性改进、新的调试和代码分析功能,或者获得最新工具集的更快构建吞吐量。还有一些 IDE 功能与旧工具集不兼容。
例如,内存探查器中可能缺少类型信息,重构操作转换为原始字符串文字会生成符合 C++11 的代码,当您使用 Visual Studio 2012 或更旧的工具集时,这些代码将无法编译。
为避免每次加载项目时都看到升级对话框,您可以在项目.props或.targets它们导入的文件中定义以下属性:
<VCProjectUpgraderObjectName>NoUpgrade</VCProjectUpgraderObjectName>
当您想要升级您的项目时,您必须删除此属性。“
官方手册文档来源:在 Visual Studio 中使用本机多目标构建旧项目
二、PHP5 Install 安装包 VC6与VC9的区别
VC6是指legacy Visual Studio 6 compiler,使用这个微软的编译器编译的。
VC9即the Visual Studio 2008 compiler,使用微软的VS编辑器编译的。
在windows下使用Apache+PHP的,选择VC6版本;
在windows下使用IIS+PHP的,选择VC9版本。
Microsoft Visual C++ 2012(32位)(VC11编译的php5.5系列32位版本必装);
Microsoft Visual C++ 2012(64位)(VC11编译的php5.5系列64位版本必装);
三、如何选择PHP5.3的Thread Safe和 Non Thread Safe版本?
Thread Safe是线程安全,执行时会进行线程(Thread)安全检查,以防止有新的要求就启动新线程的CGI执行方式,导致耗尽系统资源。
Non Thread Safe是非线程安全,在执行时不进行线程(Thread)安全检查。
PHP两种执行方式:FastCGI和ISAPI。
FastCGI的执行方式以单一线程执行操作,所以不需要进行线程的安全检查,执行效率高,如果以FastCGI来执行PHP,可选择Non Thread Safe版本。
ISAPI执行方式以DLL动态库的形式使用,在被用户请求后执行,处理完一个用户请求后并不会马上消失,所以需要线程安全检查,提高程序的执行效率,以ISAPI来执行PHP,可选择Thread Safe版本;官方不建议将Non Thread Safe 应用于生产环境,可选择Thread Safe 版本的PHP来使用。
ISAPI执行方式以DLL动态库的形式使用,在被用户请求后执行,处理完一个用户请求后并不会马上消失,所以需要线程安全检查,提高程序的执行效率,以ISAPI来执行PHP,可选择Thread Safe版本;官方不建议将Non Thread Safe 应用于生产环境,可选择Thread Safe 版本的PHP来使用。
四、如何安装较旧的 Visual Studio 以及工具集
Visual Studio Older Downloads - 2019, 2017, 2015 & Previous Versions
有关当前可用的下载,请参阅下载旧版 Visual Studio 软件。
从早期版本的 Visual C++ 升级项目
Visual Studio 中的 C++ 一致性改进[1]
参考
- ^在 Visual Studio 中使用本机多目标构建旧项目 https://docs.microsoft.com/en-us/cpp/porting/use-native-multi-targeting?view=msvc-170#instructions-for-visual-studio-2008
|
|