惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

IT之家
IT之家
Microsoft Azure Blog
Microsoft Azure Blog
人人都是产品经理
人人都是产品经理
博客园 - 聂微东
博客园_首页
阮一峰的网络日志
阮一峰的网络日志
V
V2EX
小众软件
小众软件
F
Fortinet All Blogs
Microsoft Security Blog
Microsoft Security Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
H
Hackread – Cybersecurity News, Data Breaches, AI and More
量子位
Google DeepMind News
Google DeepMind News
Jina AI
Jina AI
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
aimingoo的专栏
aimingoo的专栏
B
Blog RSS Feed
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
宝玉的分享
宝玉的分享
有赞技术团队
有赞技术团队
J
Java Code Geeks
WordPress大学
WordPress大学
The Cloudflare Blog

博客园 - 吴尔平

gtest 的彩色信息输出 + boost.test 的内存泄漏检测及定位 使用另一个blog: http://blog.csdn.net/WuErPing scons + swig 如何在 vista 使用 Device Emulator 连接internet vc9 Feature Pack Beta tr1 的一些问题 NSIS Kill Process (转贴) C#与一个彩票页面 - 吴尔平 - 博客园 py2exe 转换 pytetris - 吴尔平 关于模板化的friend class C# 的 random shuffle python 读取 windows event log 的简短代码 IronPython 1.0 Release Candidate (转贴 ( 据说比c实现的快1.5!) ) Visual Studio Service Pack (转贴) The 16th Annual Jolt Product Excellence Award Winners (转贴) C++/CLI FAQ (逐步整理中) C++/CLI singleton模式 (双重检测锁实现) 如何在 VS2005 的 Team Unit Testing frameworks 中测试 Native Code (C++ ) 2005 CRT memory leaks 改变 SQL Server 2000 所有对象的所有者
在低版本的 vc 中使用 vc 10.0 的新特性
吴尔平 · 2009-06-08 · via 博客园 - 吴尔平
/*!
在低版本的 vc 中使用 vc 10.0 的新特性
created by : andrew.wu (erpingwu@gmail.com)
http://blog.oolanguage.com/erpingwu/在低版本-vs-ide-使用-vc-100-的新特性/

*/

vc 10.0 提供了一些新的特性,最引人注目的莫过于 lambda, 但 vs2010 beta 内存占用之多也不得不让人心生退让.
高手 7cat 指出 "vc ide 只是一个壳"
那么如果利用 vc 10.0 编译器的新功能?
以vc9为例, 注意 Tools->Projects and Solutions->VC++ Directories->Executable files->$(VCInstallDir)bin, 这个说明了IDE所用的cl.exe, link.exe等工具的所在.在此目录前新增一个 $(VCInstallDir)bin_vc10.0, 将所需要的 vc10.0 的文件 copy 过去.

c1.dll
c1xx.dll
c2.dll
cl.exe
cl.exe.config
link.exe
link.exe.config
msobj100.dll
mspdb100.dll
mspdbcore.dll
mspdbsrv.exe
msvcm100.dll
msvcp100.dll
msvcr100.dll

然后找个例子试试,你就发现 c++ 0x 的 lambda 已经能为你所用了, 这时发布程序所用的 dll 还是 vc9 的.

#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
 [](const string& str){
  cout << str << endl;
 }("Hello vc 10.0");
}

MS对 vc10 的说法是 “10 Is the New 6”,这一点只在一个地方有体现,不是速度,不是 IDE 内存占用,它表现在程序最终发布上。阿门, vc 10.0 再次可以通过 xcopy 发布,而不用辛苦的对 manifest 做各种 hack 式的处理。
不过,即使是用了 vc 10.0 的 link.exe ,还是不能摆脱 vc9 的困境。这时有一个更夸张一点的做法:不仅仅使用 vc 10.0 的编译与连接工具,还使用它的库。
只需在 Tools->Projects and Solutions->VC++ Directories->Include files 和 Library files 增加 vc 10.0 对应的目录(注意需要在 vc9 原来目录之前)
重建项目后你会发现你可以将程序与所需要的 vc 10.0 的 dll 直接 copy 到没有 vc 10.0 运行库的机器使用了
以上步骤也在 vc 7.1 中测试通过