分类存档: vc

Visual Studio 2010中C++的四大变化

在微软即将发布的Visual Studio 2010正式版中,其对C++语言做了一些修改,本文对此做了小结,与大家分享。

Lambda表达式

很多编程编程语言都支持匿名函数(anonymous function)。所谓匿名函数,就是这个函数只有函数体,而没有函数名。Lambda表达式就是实现匿名函数的一种编程技巧,它为编写匿名函数提供了 简明的函数式的句法。同样是Visual Studio中的开发语言,Visual Basic和Visual C#早就实现了对Lambda表达式的支持,终于Visual C++这次也不甘落后,在Visual Studio 2010中添加了对Lambda表达式的支持。

Lambda表达式使得函数可以在使用的地方定义,并且可以在Lambda函数中使用Lambda函数之外的数据。这就为针对集合操作带来了很大的 便利。在作用上,Lambda表达式类似于函数指针和函数对象,Lambda表达式很好地兼顾了函数指针和函数对象的优点,却没有它们的缺点。相对于函数 指针或是函数对象复杂的语法形式,Lambda表达式使用非常简单的语法就可以实现同样的功能,降低了Lambda表达式的学习难度,避免了使用复杂的函 数对象或是函数指针所带来的错误。我们可以看一个实际的例子:

继续阅读 »

如何注册dll组件

如何注册dll组件

    第一种方法:手工注册DLL
    这种方法从IIs 3.0一直使用到IIs 4.0和其它的Web Server.它需要你在命令行方式下 来执行,进入到包含有DLL的目录,并输入: :\\regsvr32 component_name.dll 例如 c:\temp\regsvr32 AspEmail.dll 它会把dll的特定信息注册入服务器中的注册表中。然后这个组件就可以在服务器上使用了, 但是这个方法有一个缺陷。当使用这种方法注册完毕组件后,该组件必须要相应的设置NT的匿名 帐号有权限执行这个dll。特别是一些组件需要读取注册表,所以,这个注册组件的方法仅仅是 使用在服务器上没有MTS的情况下,要取消注册这个dll,使用: regsvr32 /u aspobject.dll example c:\temp\regsvr32 /u aneiodbc.dll
 
    第二种方法:使用MTS(Microsoft Transaction Server)
    MTS是IIS 4新增特色,但是它提供了巨大的改进。MTS允许你指定只有有特权的用户才能够 访问组件,大大提高了网站服务器上的安全性设置。在MTS上注册组件的步骤如下: I) 打开IIS管理控制台。 II) 展开transaction server,右键单击”pkgs installed”然后选择”new package” III) 单击”create an empty package” IV) 给该包命名 V) 指定administrator帐号或则使用”interactive”(如果服务器经常是使用administrator 登陆的话) VI) 现在使用右键单击你刚建立的那个包下面展开后的”components”。选择 “new then component” VI) 选择 “install new component” [b]VII) 找到你的.dll文件然后选择next到完成。 要删除这个对象,只要选择它的图标,然后选择delete.
    附注:特别要注意第二种方法,它是用来调试自己编写组件的最好方法,而不必每次都需要 重新启动机器了。