
C++/CLI
文章平均质量分 78
xieqidong
这个作者很懒,什么都没留下…
展开
-
C++ 最强大的 .NET Framework编程语言
C++:最强大的 .NET Framework编程语言 本文涉及:Microsoft Visual C++ 2005Microsoft Visual C++ .NETMicrosoft Visual Studio 2005通用语言运行时库(CLR) 文章概要:探索Visual C++ 2005中新语言C++/CLI的设计思想与基本原理,并以此 .NET编翻译 2008-03-25 10:25:00 · 12372 阅读 · 0 评论 -
实例解析C++/CLI之接口与泛型
实例解析C++/CLI之接口与泛型 接口 某些时候,让不相关的类分享一组公有成员,以便产生相同的行为,是非常有用的。一个最基本的方法可能是通过一个公共的基类来定义它们,但这种方法太受局限,因为它要求这些类通过继承而互相关联,另外,它们也许还有着各自的基类,且CLI类型只支持单一类继承。 C++/CLI提供了一种方法,可利用多个翻译 2008-04-03 08:10:00 · 2800 阅读 · 0 评论 -
实例解析C++/CLI之继承与枚举
实例解析C++/CLI之继承与枚举 本文中,将要介绍与继承相关的C++/CLI主题,并以现实生活中银行交易的三种形式:存款、取款、转账,来说明类的继承体系,且以一种新的枚举形式来实现。 枚举器 请看例1中声明的类型,它存在于其自身的源文件中,并编译为一个只包含此类型的程序集: 例1:public enu翻译 2008-04-03 08:02:00 · 2404 阅读 · 0 评论 -
实例解析C++/CLI之头文件、内联函数与数组
实例解析C++/CLI之头文件、内联函数与数组 头文件与函数声明 在传统C++的设计与实现中,你可对需建模的每种类型进行定义,并把定义放在各自的头文件中;而头文件中,一般会包含类型名、成员名、及相关小型成员函数的内联定义。 与各个单独编译的源文件是通过头文件来共享信息不同,在C++/CLI中,这些信息是通过程序集来共享的。就拿翻译 2008-04-03 07:56:00 · 2232 阅读 · 0 评论 -
实例解析C++/CLI之开篇
实例解析C++/CLI之开篇 C++/CLI可以说是标准C++语言一种新的“方言”,它是Microsoft为充分利用CLI(Common Language Infrastructure)平台而开发出来的。那么,它在语言方面有何新颖独到之处呢,下面,就让我们一起开始奇妙的C++/CLI语言之旅(文中所有示例代码,均以Visual Studio.NET 2005 Pro翻译 2008-04-02 13:17:00 · 5912 阅读 · 0 评论 -
实例解析C++/CLI之值类型
实例解析C++/CLI之值类型——C++/CLI中的轻量类机制 值类型是一种轻量级的C++/CLI类机制,非常适合于小型的数据结构,且从语义的角度来看,与数值(Value)类似。 与之相比,引用类型的实例——包括那些声明在堆栈上的,是由垃圾回收器管理的,而值类型的实例却不是。一般来说,一个值类较好的实现应只有一些数据成员,而不需要继承性,这样翻译 2008-04-03 08:33:00 · 1275 阅读 · 0 评论 -
实例解析C++/CLI线程之二
实例解析C++/CLI线程之ThreadStatic持久性实例解析C++/CLI线程之二 其他形式的同步 我们可使用类Monitor与类Thread中的某些函数,直接控制线程的同步,请看例1。 例1:using namespace System;using namespace System::Threading; in翻译 2008-04-03 08:29:00 · 2015 阅读 · 0 评论 -
实例解析C++/CLI之静态构造函数
实例解析C++/CLI之静态构造函数 就某些类而言,当在程序中第一次使用时,最好能有一个初始化过程;当程序不再需要时,也最好能做一些收尾工作,这些都是非常好的类设计习惯。 引出问题 如果有这样一种情况,某种类型的每个实例都必须有其唯一的ID,比如说某种交易类型,这些ID可用于在处理过程中追踪每笔交易,或之后用于审计翻译 2008-04-03 08:22:00 · 1425 阅读 · 0 评论 -
实例解析C++/CLI的串行化
实例解析C++/CLI的串行化 串行化可使对象被转换为某种外部的形式,比如以文件存储的形式供程序使用,或通过程序间的通讯发送到另一个处理过程。转换为外部形式的过程称为“串行化”,而逆过程称为“反串行化”。 简介 请看例1中的示例,其将多个对象类型的值写入到一个新的磁盘文件中,关闭文件,接着再把这些值重新读取到内存中翻译 2008-04-03 08:13:00 · 1149 阅读 · 0 评论 -
实例解析C++/CLI之代理与事件
实例解析C++/CLI之代理与事件——一次包装多个函数 在C++/CLI中,代理是对函数进行包装的对象;而事件是一种为客户程序提供通知的类机制。 在前几篇文章中,已经多次演示了如果让一个句柄在不同的时间,被引用至不同的对象,从而以更抽象的方法来解决程序中的问题,但是,也能使用代理通过函数来达到同样的效果;代理是包装了函数的一个对象,且对翻译 2008-04-03 07:53:00 · 948 阅读 · 0 评论 -
实例解析C++/CLI的“克隆”
实例解析C++/CLI的“克隆”——复制基于堆的对象 C++/CLI不但支持基于堆栈的对象,同时也支持基于堆的对象;然而,如果想与其他基于CLI的语言(如C#、J#、Visual Basic)进行互操作的话,必须要清楚地知道,这些语言只支持基于堆的对象;当处于基于堆的对象环境中时,你与对象之间,永远只有“一臂之遥”,比方说,两个给定的句柄h1与h2,只有在为这种翻译 2008-04-02 13:21:00 · 1045 阅读 · 0 评论 -
实例解析C++/CLI的输入与输出
实例解析C++/CLI的输入与输出——有关C++/CLI程序读写的ABC 当使用标准C++编程时,我们已开始接触到两个主要的I/O“工具”:标准C头文件cstdio和标准C++中与流相关的头文件iostream,如果加上Windows的话,那么还有Win32库和MFC库,另外,还有CLI/.NET。本文将要探讨的,就是C++/CLI中的输入与输出。翻译 2008-04-03 08:06:00 · 1656 阅读 · 0 评论 -
实例解析C++/CLI之基于堆栈的对象与跟踪引用
实例解析C++/CLI之基于堆栈的对象与跟踪引用 在托管堆上分配对象实例,似乎是使用托管扩展C++、C#、J#、VB.NET程序员的唯一方法,而使用本地C++的程序员,不但可以在堆上分配内存,甚至更惯于使用基于堆栈的对象实例。 现在回顾一下以前定义的Point引用类,再来看一下以下变量定义: Point p1, p2(3,4);翻译 2008-04-03 08:19:00 · 1156 阅读 · 0 评论 -
实例解析C++/CLI程序的进程间通讯
实例解析C++/CLI程序的进程间通讯 现在,把大型软件项目分解为一些相交互的小程序似乎变得越来越普遍,程序各部分之间的通讯可使用某种类型的通讯协议,这些程序可能运行在不同的机器上、不同的操作系统中、以不同的语言编写,但也有可能只在同一台机器上,实际上,这些程序可看成是同一程序中的不同线程。而本文主要讨论C++/CLI程序间的通讯,当然,在此是讨论进程间通讯,而不是网络通翻译 2008-04-03 08:16:00 · 959 阅读 · 0 评论 -
C++/CLI中的安全编码
C++/CLI中的安全编码——缓冲区溢出依然还是个问题吗? C++/CLI是对C++的一个扩展,其对所有类型,包括标准C++类,都添加了对属性、事件、垃圾回收、及泛型的支持。 Visual C++ 2005扩展了对使用C++/CLI(通用语言基础结构)开发运行于带有垃圾回收的虚拟机上的控件及应用程序的支持,而C++/CLI是对C+翻译 2008-03-25 10:38:00 · 1433 阅读 · 0 评论 -
C++/CLI与非托管并列缓存
C++/CLI与非托管并列缓存——创建在运行时才加载的库 Visual Studio安装程序会把Visual Studio的共享库放在一个称为“并列缓存(side-by-side cache)”的地方,那怎样才能有效地利用它呢? 在文章开头,先看一个示例。在命令行中,创建一个C++源文件,输入例1中的代码。(虽然此处使用的是C++翻译 2008-03-25 10:28:00 · 1421 阅读 · 0 评论 -
实例解析C++/CLI线程之多任务
实例解析C++/CLI线程之多任务 简介 从处理器的角度来看,线程是一个单独的执行流程,每个线程都有各自的寄存器及堆栈上下文。通常来说,在系统中只有一个处理器或处理器只有一个核心时,运行时环境在一个时间片内只能执行一个线程,当线程未能获取所需的资源时,线程的执行就会被中断,且会一直等到相关操作的完成,如I/O;或者在线程用完它的处理器时间片时,也翻译 2008-04-03 08:26:00 · 2060 阅读 · 0 评论