当前位置:首页 » 行业资讯
开发技术指南» 文章正文
    引言: 与传统语言相比,c++的一项革命性创新就是它支持异常处理。
 

 

    摘要:  如果你不想使用编译器为你产生的函数,就明确拒绝   不动产代理商出售房屋,服务于这样的代理商的软件系统自然要有一个类来表示被出售的房屋:   每一个不动产代理商都会很快指出,每一件财产都是独特的——没有两件是完全一样的。在这种情况下,为 homeforsale 对象做一个拷贝的想法就令人不解了。你怎么能拷贝一个独一无二的东西呢?最好让这种类似企图拷贝 homeforsale 对象的行为不能通过......
 ·linux上安装gcc编译器过程    »显示摘要«
    摘要:  2004年4月20日最新版本的gcc编译器3.4.0发布了。目前,gcc可以用来编译c/c++、fortran、java、objc、ada等语言的程序,可根据需要选择安装支持的语言。gcc 3.4.0比以前版本更好地支持了c++标准。本文以在redhat linux上安装gcc3.4.0为例,介绍了gcc的安装过程。  安装之前,系统中必须要有cc或者gcc等编译器,并且是可用的,或者用环境变......


C++编译器如何实现异常处理

  与传统语言相比,c++的一项革命性创新就是它支持异常处理.传统的错误处理方式经常满足不了要求,而异常处理则是一个极好的替代解决方案.它将正常代码与错误处理代码清晰的划分开来,程序变得非常干净并且容易维护.本文讨论了编译器如何实现异常处理.我将假定你已经熟悉异常处理的语法与机制.本文还提供了一个用于vc++的异常处理库,要用库中的处理程序替换掉vc++提供的那个,你只需要调用下面这个函数:

【程序编程相关:康柏把业务重心转向软件和服务

【推荐阅读:赞禾始终坚持“正品和服务”并行的金士顿内

【扩展信息:思科推出通讯和服务职业认证计划

  之后,程序中的所有异常,从它们被抛出到堆栈展开(stack unwinding),再到调用catch块,最后到程序恢复正常运行,都将由我的异常处理库来管理.

  与其它c++特性一样,c++标准并没有规定编译器应该如何来实现异常处理.这意味着每一个编译器的提供商都可以用它们认为恰当的方式来实现它.下面我会描述一下vc++是怎么做的,但即使你使用其它的编译器或操作系统①,本文也应该会是一篇很好的学习材料.vc++的实现方式是以windows系统的结构化异常处理(seh)②为基础的.

  结构化异常处理—概述

  在本文的讨论中,我认为异常或者是被明确的抛出的,或者是由于除零溢出.空指针访问等引起的.当它发生时会产生一个中断,接下来控制权就会传递到操作系统的手中.
...   下一页
 ·亲密接触vc6.0编译器    »显示摘要«
    摘要:  大家可能一直在用vc开发软件,但是对于这个编译器却未必很了解。原因是多方面的。大多数情况下,我们只停留在“使用”它,而不会想去“了解”它。因为它只是一个工具,我们宁可把更多的精力放在c++语言和软件设计上。我们习惯于这样一种“模式”:建立一个项目,然后写代码,然后编译,反反复复调试。但是,所谓:“公欲善其事,必先利其器”。如果我们精于vc开发环境,我们是不是能够做得更加游刃有余呢?   闲话少......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE